将门户配置为使用 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>"
    Directory Root "/var/www/html"Override
    <br>







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