Konfigurowanie portalu pod kątem użycia protokołu HTTPS

Developer Services Portal w wersji 4.17.05

Wszystkie zalecane przez Apigee instalacje portalu w chmurze prywatnej wymagają, aby portal znajdował się za systemem równoważenia obciążenia. Dlatego protokół TLS konfiguruje się w systemie równoważenia obciążenia, a nie w portalu. Procedura konfigurowania TLS zależy więc od systemu równoważenia obciążenia.

W razie potrzeby możesz jednak skonfigurować TLS na serwerze WWW, który hostuje portal.

Omówienie korzystania z TLS w portalu znajdziesz w artykule Korzystanie z TLS w portalu.

Portal działający na serwerze Apache

Jeśli instalacja portalu korzysta z serwera WWW Apache:

  1. Uzyskaj klucz i certyfikat TLS.
  2. Zainstaluj mod_ssl:
    > yum install mod_ssl
  3. Zaktualizuj plik /etc/httpd/conf/httpd.conf:
    1. Jeśli chcesz wyłączyć dostęp HTTP na porcie 80, wyszukaj „Listen 80” i dodaj komentarz.
    2. Na końcu pliku dodaj te wiersze:
      LoadModule ssl_module modules/mod_ssl.so
      Listen 443
  4. Skonfiguruj hosta wirtualnego, edytując plik /etc/httpd/conf/vhosts/devportal.conf, aby dodać te informacje:
    <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>


    Jeśli nie chcesz używać protokołu HTTP, zmień też istniejącą definicję VirtualHost w komentarz.
  5. Protokół TLS jest skonfigurowany w pliku httpd.conf, więc plik ssl.conf nie jest potrzebny:
    > mv /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.orig
  6. Uruchom ponownie Apache:
    > service httpd restart
    Może pojawić się prośba o podanie hasła do pliku klucza.

Dostęp do portalu powinien być możliwy przez TLS.

Portal działający na serwerze Nginx

Domyślnie portal korzystający z serwera WWW Nginx nasłuchuje żądań HTTP na porcie 8079. Jeśli włączysz TLS, portal będzie nasłuchiwać tylko żądań HTTPS na porcie 8079. Oznacza to, że możesz skonfigurować portal tak, aby nasłuchiwał żądań HTTP lub HTTPS, ale nie obu naraz.

Możesz też zmienić numer portu zgodnie z opisem w sekcji Ustawianie portu HTTP używanego przez portal.

Jeśli instalacja portalu korzysta z serwera WWW Nginx:

  1. Uzyskaj klucz i certyfikat TLS. W tym przykładzie certyfikat znajduje się w pliku o nazwie server.crt, a klucz w pliku server.key.
  2. Prześlij certyfikat i klucz na serwer portalu do katalogu /opt/apigee/customer/nginx/ssl.
  3. Zmień właściciela certyfikatu i klucza na użytkownika „apigee”:
    > chown apigee:apigee /opt/apigee/customer/nginx/ssl/server.crt
    > chown apigee:apigee /opt/apigee/customer/nginx/ssl/server.key
  4. Otwórz plik /opt/apigee/customer/application/drupal-devportal.properties w edytorze. Jeśli plik i katalog nie istnieją, utwórz je.
  5. Ustaw te właściwości w pliku 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;

    W przypadku conf_devportal_ssl_block określ ścieżkę do plików certyfikatu i klucza. Nie musisz modyfikować innych właściwości.
  6. Zapisz plik.
  7. Uruchom ponownie portal:
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal restart

Dostęp do portalu powinien być możliwy przez TLS.