默认Apache是不支持SSL的,但是我们可以开启SSL。
假设已经安装了Apache,并且运行正常,Apache安装目录为d:/Apache2,端口号8080
- 从http://hunter.campbus.com/下载Openssl- 0.9.8 d-Win32.zip,Apache_2.0.59-Openssl_0.9.8d-Win32.zip压缩包。
- 从Openssl- 0.9.8 d-Win32.zip压缩包中得到openssl.exe、libeay32.dll、ssleay32.dll,从Apache_2.0.59-Openssl_0.9.8d-Win32.zip中得到mod_ssl.so、ssl.conf。
- 复制openssl.exe、libeay32.dll、ssleay32.dll到d:/Apache2/bin文件夹下,复制mod_ssl.so到C:/Apache2/modules文件夹下,复制ssl.conf到d:/Apache2/conf文件夹下。
- 打开ssl.conf,
把 DocumentRoot "c:/apache/htdocs" 修改为 DocumentRoot "d:/apache2/htdocs"把 SSLCertificateFile conf/ssl.crt/server.crt 修改为 SSLCertificateFile conf/ssl/my-server.cert把 SSLCertificateKeyFile conf/ssl.key/server.key 修改为 SSLCertificateKeyFile conf/ssl/my-server.key删除以下两行 <IfDefine SSL>,</IfDefine SSL>
-
打开Apache的httpd.conf文件,查询#LoadModule ssl_module modules/mod_ssl.so,去掉注释
-
下载openssl.exe的配置文件http://www.securityfocus.com/data/tools/openssl.conf,复制到d:/Apache2/bin文件夹下
-
运行cmd,切换到文件夹d:/Apache2运行以下命令:bin/openssl req -config bin/openssl.cnf -new -out my-server.csrbin/openssl rsa -in privkey.pem -out my-server.keybin/openssl x509 -in my-server.csr -out my-server.cert -req -signkey my-server.key -days 4000bin/openssl x509 -in my-server.cert -out my-server.der.crt -outform DER这时在 d:/Apache2 文件夹下创建了一些文件( my-server.der.crt、my-server.csr、 my-server.key、 .rnd、 privkey.pem、my-server.cert) ,将这些文件拷贝到目录 conf/ssl, 如果目录 ssl 不存在,你必须先创建一个。
-
可以选择在<location>语句块中添加SSLRequireSSL语句强制使用ssl重新启动 Apache 服务,打开 ApacheMonitor.exe ,可以看到已经加载 mod_ssl、openssl模块浏览器中输入 https://localhost:443/ ,可以看到已经支持 SSL 了。