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

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

http://newue_IP:3001

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

https://newue_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 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 должен знать, что исходный запрос был отправлен по протоколу 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 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.
  • MANAGEMENT_UI_PORT – указывает порт, используемый интерфейсом Edge.

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

Если MANAGEMENT_UI_TLS_OFFLOAD=y:

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

Да

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 с помощью 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 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.

  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, если TLS завершается на балансировщике нагрузки

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

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

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

Чтобы настроить интерфейс Edge, когда 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 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 поступают по протоколу HTTP.

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

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

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

    Скрипт перезапускает интерфейс Edge.

  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

Чтобы отключить 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 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.

  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, очистите кеш браузера и попробуйте войти снова.