为了在 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 所用的实际主机名,从而与您在创建服务器证书和密钥时输入的通用名称相匹配。