将门户配置为使用 HTTPS

开发者服务门户 v. 4.17.05

所有 Apigee 推荐的私有云门户安装都需要将门户置于负载均衡器后面。因此,您需要在负载均衡器本身(而非门户)上配置 TLS。因此,您用于配置 TLS 的过程取决于负载均衡器。

不过,如有必要,您可以在托管门户的 Web 服务器上配置 TLS。

如需简要了解如何在门户上使用 TLS,请参阅在门户上使用 TLS。

对于在 Apache 上运行的门户

如果您的门户安装使用 Apache Web 服务器,请执行以下操作:

  1. 获取 TLS 密钥和证书。
  2. 确保安装 mod_ssl:
    > yum install mod_ssl
  3. 更新 /etc/httpd/conf/httpd.conf:
    1. 如果您想停用 80 端口上的 HTTP 访问,请搜索“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 Web 服务器的门户会监听端口 8079 上的 HTTP 请求。如果您启用 TLS,则门户仅侦听 8079 上的 HTTPS 请求。也就是说,您可以将门户配置为监听 HTTP 请求或 HTTPS 请求,但不能同时监听这两者。

您还可以按照设置门户使用的 HTTP 端口中的说明更改端口号。

如果您的门户安装使用 Nginx Web 服务器:

  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 访问门户。