1. 首先确认以下文件是否存在(此步骤可忽略)
[Apache安装目录]/modules/ mod_ssl.so
[Apache安装目录]/bin/ openssl.exe, libeay32.dll, ssleay32.dll
[Apache安装目录]/conf/ openssl.cnf
2. 修改apache配置文件。首先stop apache service,然后打开配置文件
//去掉下面行首的 # 号
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf
3. 认证文件生成
在命令行下进入Apache安装目录下\bin文件夹,输入命令:
openssl req -
new
-out server.csr -config ../conf/openssl.cnf
pass phrase输入123456 (任意设定)
然后输入国家: US, 州: New Jersey, 城市: Jersey City 公司名: vTasters, 部门(unit): IT, 域名: vtasters.com, 邮箱: rentjc413@gmail.com, A challenge password: 123456, an optional company name: vTasters
输入如下命令,生成私匙:
openssl rsa -in privkey.pem -out server.key
一般windows会出现警告:WARNING: can't open config file: /usr/local/ssl/openssl.cnf
这是Linux路径,所以我们要设置一下,输入命令
set OPENSSL_CONF=C:\Program Files\wamp\bin\apache\Apache2.2.21\conf\openssl.cnf
再次运行openssl rsa -in privkey.pem -out server.key输入密码123456
再输入如下命令创建证书:
openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 8000
8000是有效期
完成后, 将 \bin 下面的 server.csr、server.crt、server.key 拷贝到 [Apache安装目录]\conf\ssl 文件夹中, 没有则创建
再打开 [Apache安装目录]\conf\extra\httpd-ssl.conf 文件
替换 SSLCertificateFile 和 SSLCertificateKeyFile 语句对应的路径,例:
#SSLCertificateFile "c:/Apache2/conf/server-dsa.crt"
换(反斜杠)
#SSLCertificateFile "C:/Program Files/wamp/bin/apache/Apache2.2.21/conf/ssl/server.crt"
#SSLCertificateKeyFile "c:/Apache2/conf/server-dsa.key"
换成
#SSLCertificateKeyFile "C:/Program Files/wamp/bin/apache/Apache2.2.21/conf/ssl/server.key"
最后, 重启 Apache e服务器
这时,查看Apache error log可能会出现一些错误,主要原因是现在会用到httpd-ssl.conf,而这个配置文件有一些配置需要修改。这里原理是如果是http就用httpd.config,否则用httpd-ssl.config
ErrorLog "c:/Apache2/logs/error.log"
TransferLog "c:/Apache2/logs/access.log"
CustomLog "c:/Apache2/logs/ssl_request.log"
DocumentRoot "c:/Apache2/htdocs"
改成以及创建相应文件
ErrorLog "C:/Program Files/wamp/logs/extra.log"
TransferLog "C:/Program Files/wamp/logs/extra_access.log"
CustomLog "C:/Program Files/wamp/logs/ssl_request.log"
DocumentRoot "C:/Program Files/wamp/www/"
可能有其他地方需要修改,只要参考httpd.conf即可
http://www.sunzhenghua.com/wamp-config-ssl-https
No comments:
Post a Comment