Настройка TLS для нового интерфейса Edge

По умолчанию доступ к новому интерфейсу Edge осуществляется по протоколу HTTP с использованием IP-адреса или DNS-имени узла интерфейса Edge и порта 3001. Пример:

http://newue_IP:3001

Вы также можете настроить доступ к Edge UI по протоколу TLS, чтобы использовать URL следующего вида:

https://newue_IP:3001

Требования к TLS

Пользовательский интерфейс Edge поддерживает только TLS версии 1.2. Если вы включите TLS в пользовательском интерфейсе Edge, пользователи должны будут подключаться к пользовательскому интерфейсу Edge с помощью браузера, совместимого с TLS v1.2.

Свойства конфигурации TLS

Чтобы настроить TLS для Edge UI, выполните следующую команду:

/opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

где configFile – файл конфигурации, который вы использовали для установки Edge UI.

Прежде чем выполнять эту команду, необходимо изменить файл конфигурации, чтобы задать нужные свойства, управляющие TLS. В таблице ниже описаны свойства, которые используются для настройки TLS для Edge UI.

Свойство Описание Обязательно?
MANAGEMENT_UI_SCHEME

Задает протокол (HTTP или HTTPS), используемый для доступа к интерфейсу Edge. Значение по умолчанию – http. Чтобы включить TLS, укажите значение https:

MANAGEMENT_UI_SCHEME=https
Да
MANAGEMENT_UI_TLS_OFFLOAD

Если указано значение n, TLS-запросы к Edge UI завершаются в Edge UI. Необходимо задать MANAGEMENT_UI_TLS_KEY_FILE и MANAGEMENT_UI_TLS_CERT_FILE..

Если установлено значение y, то запросы TLS к Edge UI завершаются на балансировщике нагрузки, который затем перенаправляет запрос к Edge UI по протоколу HTTP.

Если вы завершаете TLS на балансировщике нагрузки, Edge UI все равно должен знать, что исходный запрос поступил по TLS. Например, у некоторых файлов cookie есть пометка Secure.

Для MANAGEMENT_UI_SCHEME необходимо задать значение https, иначе MANAGEMENT_UI_TLS_OFFLOAD будет игнорироваться:

MANAGEMENT_UI_SCHEME=https
MANAGEMENT_UI_TLS_OFFLOAD=y
Да
MANAGEMENT_UI_TLS_KEY_FILE

MANAGEMENT_UI_TLS_CERT_FILE

Если задано значение MANAGEMENT_UI_TLS_OFFLOAD=n, указывает абсолютный путь к файлам ключа и сертификата TLS. Файлы должны быть в формате PEM без кодовой фразы и принадлежать пользователю apigee.

Рекомендуемое расположение этих файлов:

/opt/apigee/customer/application/edge-management-ui

Если такого каталога нет, создайте его.

Если используется MANAGEMENT_UI_TLS_OFFLOAD=y, опустите MANAGEMENT_UI_TLS_KEY_FILE и MANAGEMENT_UI_TLS_CERT_FILE.. Они игнорируются, поскольку запросы к Edge UI поступают по протоколу HTTP.

Да, если MANAGEMENT_UI_TLS_OFFLOAD=n
MANAGEMENT_UI_PUBLIC_URIS

Если задано значение MANAGEMENT_UI_TLS_OFFLOAD=n, указывает URL интерфейса Edge.

Задайте это свойство на основе других свойств в файле конфигурации. Пример:

MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT

Где:

  • MANAGEMENT_UI_SCHEME – протокол (http или https), как описано выше.
  • MANAGEMENT_UI_IP – IP-адрес или имя DNS интерфейса Edge UI.
  • MANAGEMENT_UI_PORT указывает порт, используемый Edge UI.

Подробнее об этих свойствах рассказывается в статье Как установить новый интерфейс Edge.

Если MANAGEMENT_UI_TLS_OFFLOAD=y:

  • MANAGEMENT_UI_IP – IP-адрес или имя DNS балансировщика нагрузки, а не Edge UI.
  • Балансировщик нагрузки и новый UE должны использовать один и тот же номер порта для запросов, например 3001. Используйте MANAGEMENT_UI_PORT, чтобы указать номер порта на балансировщике нагрузки и в новом пользовательском расширении.

Да

MANAGEMENT_UI_TLS_ALLOWED_CIPHERS

Определяет список доступных шифров TLS в виде строки, разделенной запятыми или пробелами.

Строка, разделенная запятыми:

MANAGEMENT_UI_TLS_ALLOWED_CIPHERS=TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

Строка, разделенная пробелами и заключенная в двойные кавычки:

MANAGEMENT_UI_TLS_ALLOWED_CIPHERS="TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
SHOEHORN_SCHEME

Прежде чем устанавливать новый интерфейс Edge, необходимо установить базовый интерфейс Edge, который называется shoehorn. В файле конфигурации установки используется следующее свойство для указания протокола http, используемого для доступа к базовому пользовательскому интерфейсу Edge:

SHOEHORN_SCHEME=http

Базовый интерфейс Edge не поддерживает TLS, поэтому даже если вы включите TLS в интерфейсе Edge, для этого свойства по-прежнему должно быть установлено значение "http".

Да, установлено значение "http"

Настройте TLS

Чтобы настроить доступ к Edge UI по протоколу TLS:

  1. Сгенерируйте сертификат TLS и ключ в виде файлов PEM без кодовой фразы. Пример:

    mykey.pem
    mycert.pem

    Сгенерировать сертификат и ключ TLS можно разными способами. Например, чтобы создать неподписанный сертификат и ключ, можно выполнить следующую команду:

    openssl req -x509 -newkey rsa:4096 -keyout mykey.pem -out mycert.pem -days 365 -nodes -subj '/CN=localhost'
  2. Скопируйте файлы ключа и сертификата в каталог /opt/apigee/customer/application/edge-management-ui. Если такого каталога нет, создайте его.
  3. Убедитесь, что сертификат и ключ принадлежат пользователю apigee:

    chown apigee:apigee /opt/apigee/customer/application/edge-management-ui/*.pem
  4. Отредактируйте файл конфигурации, который вы использовали для установки Edge UI, чтобы задать следующие свойства TLS:

    # Set to https to enable TLS.
    MANAGEMENT_UI_SCHEME=https 
    # Do NOT terminate TLS on a load balancer.
    MANAGEMENT_UI_TLS_OFFLOAD=n
    
    # Specify the key and cert. 
    MANAGEMENT_UI_TLS_KEY_FILE=/opt/apigee/customer/application/edge-management-ui/mykey.pem
    MANAGEMENT_UI_TLS_CERT_FILE=/opt/apigee/customer/application/edge-management-ui/mycert.pem
    
    # Leave these properties set to the same values as when you installed the Edge UI:
    MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT
    SHOEHORN_SCHEME=http
  5. Чтобы настроить TLS, выполните следующую команду:

    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

    где configFile – название файла конфигурации.

    Скрипт перезапустит Edge UI.

  6. Выполните следующие команды, чтобы настроить и перезапустить shoehorn:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

    После перезапуска пользовательский интерфейс Edge будет поддерживать доступ по протоколу HTTPS. Если после включения TLS вы не можете войти в интерфейс Edge, очистите кеш браузера и повторите попытку.

Как настроить Edge UI, если трафик TLS не идет дальше балансировщика нагрузки

Если у вас есть балансировщик нагрузки, который перенаправляет запросы в Edge UI, вы можете завершить TLS-подключение на балансировщике нагрузки, а затем настроить его так, чтобы он перенаправлял запросы в Edge UI по протоколу HTTP.

Завершение TLS на балансировщике нагрузки

Такая конфигурация поддерживается, но вам нужно соответствующим образом настроить балансировщик нагрузки и Edge UI.

Чтобы настроить Edge UI, когда трафик TLS не идет дальше балансировщика нагрузки, выполните следующие действия:

  1. Измените файл конфигурации, который вы использовали для установки Edge UI, чтобы задать следующие свойства TLS:

    # Set to https to enable TLS
    MANAGEMENT_UI_SCHEME=https
    # Terminate TLS on a load balancer
    MANAGEMENT_UI_TLS_OFFLOAD=y
    # Set to the IP address or DNS name of the load balancer.
    MANAGEMENT_UI_IP=LB_IP_DNS
    # Set to the port number for the load balancer and Edge UI.
    # The load balancer and the Edge UI must use the same port number.
    MANAGEMENT_UI_IP=3001
    
    # Leave these properties set to the same values as when you installed the Edge UI:
    MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT
    SHOEHORN_SCHEME=http
    

    Если вы задали MANAGEMENT_UI_TLS_OFFLOAD=y, опустите MANAGEMENT_UI_TLS_KEY_FILE и MANAGEMENT_UI_TLS_CERT_FILE.. Они игнорируются, поскольку запросы к Edge UI поступают по HTTP.

  2. Чтобы настроить TLS, выполните следующую команду:

    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

    где configFile – название файла конфигурации.

    Скрипт перезапустит Edge UI.

  3. Выполните следующие команды, чтобы настроить и перезапустить shoehorn:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

    После перезапуска пользовательский интерфейс Edge будет поддерживать доступ по протоколу HTTPS. Если после включения TLS вы не можете войти в интерфейс Edge, очистите кеш браузера и повторите попытку.

Как отключить TLS в Edge UI

Чтобы отключить TLS в пользовательском интерфейсе Edge, выполните следующие действия:

  1. Измените файл конфигурации, который вы использовали для установки Edge UI, чтобы задать следующее свойство TLS:

    # Set to http to disable TLS.
    MANAGEMENT_UI_SCHEME=http
    
    # Only if you had terminated TLS on a load balancer,
    # reset to the IP address or DNS name of the Edge UI.
    MANAGEMENT_UI_IP=newue_IP_DNS
    
  2. Чтобы отключить TLS, выполните следующую команду:

    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

    где configFile – название файла конфигурации.

    Скрипт перезапустит Edge UI.

  3. Выполните следующие команды, чтобы настроить и перезапустить shoehorn:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

    Теперь вы можете получить доступ к пользовательскому интерфейсу Edge через HTTP. Если после отключения TLS вы не можете войти в интерфейс Edge, очистите кеш браузера и повторите попытку.