Apache Web Server 必须具有正确的安全文件才能使用负载平衡器插件。负载平衡器依赖于需要这些安全数据库文件的 NSS(Network Security Service,网络安全服务)库。您需要从 Application Server 获取这些安全数据库文件,因此必须将 Application Server 安装在 Web Server 可以访问的位置。
要将 Apache 安全文件配置为使用负载平衡器,请执行以下操作:
将 /usr/lib/mps 附加到 Apache-install-dir/bin/apachectl 脚本中的 LD_LIBRARY_PATH。
为了在 Apache 上支持 HTTPS 请求,需要执行以下步骤。
有关在 Apache 上设置安全性证书的详细信息,请参见 http://httpd.apache.org/docs/2.2/ssl/ssl_faq.html 和 http://www.modssl.org/docs/2.8/ssl_faq.html 中的说明。以下过程摘自这些 Web 站点。
设置以下环境变量:
OPENSSL_CONF=OpenSSL-installation-directory /apps/openssl.cnf。
通过执行以下命令,创建服务器证书和密钥:
openssl req -new -x509 -keyout newreq.pem -out newreq.pem -days 365
当系统要求提供通用名称时,请提供计划运行 Apache 所用的主机名。对于所有其他提示,请输入满足您所有特定要求的值。
此命令会创建 newreq.pem。
从运行 openssl 命令的位置打开新创建的 newreq.pem。
复制以 BEGIN CERTIFICATE 开始并以 END CERTIFICATE 结束的行,并将其粘贴在 Apache-install-dir /conf/ssl.crt/server.crt 中。例如:
-----BEGIN CERTIFICATE----- .... ... -----END CERTIFICATE----- |
复制以 BEGIN RSA PRIVATE KEY 开始并以 END RSA PRIVATE KEY 结束的行,并将其粘贴在 Apache-install-dir /conf/ssl.key/server.key 中。例如:
-----BEGIN RSA PRIVATE KEY----- ... ... ... -----END RSA PRIVATE KEY----- |
确保 Apache-install-dir /conf/ssl.conf 中的变量 SSLCertificateKeyFile和 SSLCertificateFile 具有正确的值。
确保 ServerName 并非为 www.example.com。ServerName 应当为运行 Apache 所用的实际主机名,从而与您在创建服务器证书和密钥时输入的通用名称相匹配。
为了使粘性 round robin 功能正常工作,请在 httpd.conf 文件中的 prefork MPM 部分下,确保参数 StartServers 和 maxclients 的值设置为 1。否则,每个新的会话请求都会产生一个新的 Apache 进程,而且将初始化负载平衡器插件,从而导致请求停放在同一实例中。