Как настроить портал для использования HTTPS

Портал сервисов для разработчиков версии 4.17.05

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

Однако при необходимости вы можете настроить TLS на веб-сервере, на котором размещен портал.

Общие сведения об использовании TLS на портале приведены в разделе Использование TLS на портале.

Для портала, работающего на Apache

Если на портале используется веб-сервер Apache:

  1. Получите ключ и сертификат TLS.
  2. Убедитесь, что вы установили mod_ssl:
    > yum install mod_ssl
  3. Обновите файл /etc/httpd/conf/httpd.conf:
    1. Если вы хотите отключить доступ по HTTP через порт 80, найдите строку Listen 80 и закомментируйте ее.
    2. Добавьте в конец файла следующие строки:
      LoadModule ssl_module modules/mod_ssl.so
      Listen 443
  4. Настройте виртуальный хост, добавив в файл /etc/httpd/conf/vhosts/devportal.conf следующие строки:
    <VirtualHost *:443>
    ServerName localhost
    SSLEngine on
    SSLCertificateFile "<public cert path>"
    SSLCertificateKeyFile "<private key path>"
    DocumentRoot "/var/www/html"
    <Directory "/var/www/html">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>
    </VirtualHost>


    Если вы не хотите использовать HTTP, закомментируйте существующее определение VirtualHost.
  5. Поскольку TLS настраивается в файле httpd.conf, файл ssl.conf не нужен:
    > mv /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.orig
  6. Перезапустите Apache:
    > service httpd restart
    Возможно, вам потребуется ввести кодовую фразу для файла ключа.

У вас должен быть доступ к порталу по протоколу TLS.

Для портала, работающего на Nginx

По умолчанию портал, использующий веб-сервер Nginx, прослушивает HTTP-запросы на порту 8079. Если вы включите TLS, портал будет принимать только HTTPS-запросы через порт 8079. То есть вы можете настроить портал на прослушивание HTTP- или HTTPS-запросов, но не обоих типов.

Вы также можете изменить номер порта, как описано в разделе Как задать HTTP-порт, используемый порталом.

Если на портале используется веб-сервер Nginx:

  1. Получите ключ и сертификат TLS. В этом примере сертификат находится в файле server.crt, а ключ – в файле server.key.
  2. Загрузите сертификат и ключ на сервер портала в каталог /opt/apigee/customer/nginx/ssl.
  3. Смените владельца сертификата и ключа на пользователя apigee:
    > chown apigee:apigee /opt/apigee/customer/nginx/ssl/server.crt
    > chown apigee:apigee /opt/apigee/customer/nginx/ssl/server.key
  4. Откройте файл /opt/apigee/customer/application/drupal-devportal.properties в редакторе. Если файл и каталог не существуют, создайте их.
  5. Задайте следующие свойства в файле drupal-devportal.properties:
    conf_devportal_ssl_block=ssl on; ssl_certificate /opt/apigee/customer/nginx/ssl/server.crt; ssl_certificate_key /opt/apigee/customer/nginx/ssl/server.key;
    conf_devportal_http_https_redirect=
    conf_devportal_fastcgi_https=fastcgi_param HTTPS on; fastcgi_param HTTP_SCHEME https;

    Для conf_devportal_ssl_block укажите путь к файлам сертификата и ключа. Другие свойства изменять не нужно.
  6. Сохраните файл.
  7. Перезапустите портал:
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal restart

У вас должен быть доступ к порталу по протоколу TLS.