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

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

http://edge_UI_IP:3001

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

https://edge_UI_IP:3001

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

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

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

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

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

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

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

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

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

MANAGEMENT_UI_SCHEME=https
Да
MANAGEMENT_UI_TLS_OFFLOAD

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

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

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

Для правила MANAGEMENT_UI_TLS_OFFLOAD необходимо задать для правила MANAGEMENT_UI_SCHEME значение "https".

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 поступают по протоколу 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.
  • MANAGEMENT_UI_PORT указывает порт, используемый новым пользовательским интерфейсом Edge.

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

Если MANAGEMENT_UI_TLS_OFFLOAD=y:

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

Да

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"

Как настроить 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, чтобы задать следующие свойства 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 New Edge UI:
    MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT
  5. Чтобы настроить TLS, выполните следующую команду:

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

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

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

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

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

Схема архитектуры, показывающая завершение TLS на балансировщике нагрузки, перенаправляющем HTTP-запросы в New Edge UI (edge-management-ui) через порт 3001

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

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

  1. Измените файл конфигурации, который вы использовали для установки нового пользовательского интерфейса Edge, чтобы задать следующие свойства 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 New Edge UI.
    # The load balancer and the New Edge UI must use the same port number.
    MANAGEMENT_UI_PORT=3001
    
    # Leave these properties set to the same values as when you installed the New Edge UI:
    MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT
    

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

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

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

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

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

Как отключить TLS в новом интерфейсе Edge

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

  1. Измените файл конфигурации, который вы использовали для установки нового интерфейса Edge, чтобы задать следующее свойство 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 New Edge UI.
    MANAGEMENT_UI_IP=edge_UI_IP_DNS
    
  2. Чтобы отключить TLS, выполните следующую команду:

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

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

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