Windows下配置Apache的SSL连接实现https访问

一、下载并安装 支持SSL的 Apache
1.安装配有SSL模块的apache,
下载地址:http://httpd.apache.org/download.cgi
2.配置:打开Apache的配置文件httpd.conf
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
去掉两行前面的#,自定义的配置文件.conf还可以通过include包含进来。
修改httpd-ssl.conf文件里的两个字段:
SSLCertificateFile “D:/Apache2.2/conf/server.crt”
SSLCertificateKeyFile “D:/Apache2.2/conf/server.key”

二、为网站服务器生成证书及私钥文件
1. 生成服务器Apache的一个RSA私钥
openssl genrsa -out server.key 1024
生成了一个1024字节的文件server.key,生成证书签署请求CSR
2. 生成签署申请
openssl req -new –out server.csr -key server.key -config ..confopenssl.cnf
其中,
Country Name:两个字母的国家代号
State or Province Name:省份名称
Locality Name:城市名称
Organization Name:公司名称
Organizational Unit Name:部门名称
Common Name:你的姓名
Email Address:地址
此时生成签署文件server.csr.
三、通过CA为网站服务器签署证书
1.Generating RSA private key for CA (1024 bit) [ca.key]
生成CA私钥
openssl genrsa  -out ca.key 1024
多出ca.key文件
2.Generating X.509 certificate signing request for CA [ca.csr]
利用CA的私钥产生CA的自签署证书
openssl req  -new -x509 -days 365 -key ca.key -out ca.crt  -config ..confopenssl.cnf
3.CA为网站服务器签署证书
在bin目录下创建demoCA,里面创建以下文件,index.txt,serial:serial内容为01,其他为空,以及文件夹 newcert.再执行一遍,即可生成server.crt文件
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..confopenssl.cnf
四、然后将  server.crt,server.key复制到apache的conf文件夹下,重启Apache。

如果要实现http访问自动跳转到https访问,在配置文件httpd.conf底部添加以下内容然后重启Apache,就可以通过https访问了。

RewriteEngine on
RewriteCond   %{HTTPS} !=on
RewriteRule   ^(.*)  https://%{SERVER_NAME}$1 [L,R]
</IfModule>

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注