转载:https://www.cnblogs.com/best-jobs/articles/3298258.aspx
apache https配置步骤
1、 确认是否安装ssl模块
是否有mod_ssl.so文件
2、 生成证书和密钥
linux下
步骤1:生成密钥
命令:openssl genrsa 1024 -out server.key (生成一个私钥)
说明:这是用128位rsa算法生成密钥,得到server.key文件
步骤2: 生成证书请求文件
命令:openssl req -new -key server.key -out server.csr(根据私钥生成公钥)
说明:这是用步骤1的密钥生成证书请求文件server.csr, 这一步提很多问题,一一输入
步骤3: 生成证书
命令:openssl req -x509 -days 365 -key server.key -in server.csr -out server.crt(用私钥对公钥进行签名认证,防止冒充)
说明:这是用步骤1,2的的密钥和证书请求生成证书server.crt,-days参数指明证书有效期,单位为天
window下
步骤1:生成密钥
命令:openssl genrsa 1024 > server.key
说明:这是用128位rsa算法生成密钥,得到server.key文件
步骤2: 生成证书请求文件
命令:openssl req -config D:\work_soft\Apache2.2\conf\openssl.cnf -new -key server.key > server.csr
说明:这是用步骤1的密钥生成证书请求文件server.csr, 这一步提很多问题,一一输入
(里面有一步common name 输入域名:ServerName localhost:443,其他的输入直接回车即可)
步骤3: 生成证书
命令:openssl req -config D:\work_soft\Apache2.2\conf\openssl.cnf -x509 -days 365 -key server.key -in server.csr > server.crt
说明:这是用步骤1,2的的密钥和证书请求生成证书server.crt,-days参数指明证书有效期,单位为天
把得到的server.key和server.crt文件拷贝到apache的对应目录
(把server.key server.csr(根据字符串构建) server.crt(根据字符串构建)拷贝到C:\Apache24\conf目录下)
openssl dhparam -check -text -5 512 -out dh512.pem中(boost库实现ssl套接字时需要生成的密钥交换文件)
3、 配置apache
l 修改httpd-ssl.conf文件
注意在此文件中配置证书和密钥
SSLCertificateFile /apache/conf/server.crt
SSLCertificateKeyFile /apache/conf/server.key
DocumentRoot ""
ServerName localhost:443(端口号不能变,否则浏览器里面必须带端口号)
虚拟机设置
NameVirtualHost *:443
<VirtualHost *:443>
…………
</VirtualHost>
l 修改httpd.conf文件
步骤1:打开ssl模块
LoadModule ssl_module /opt/taobao/install/httpd/modules/mod_ssl.so
(windows上还需要放开:LoadModule socache_shmcb_module modules/mod_socache_shmcb.so)
(还有:ServerName localhost:80)
步骤2:引入ssl配置文件
Include “/apache/conf/httpd-ssl.conf”
步骤3:如果你配置的虚拟机,注意一下端口的访问接受情况
NameVirtualHost *:80
<VirtualHost *:80>
…………
</VirtualHost>
4、 重新启动apache
用https方式访问,查看是否生效
5.测试是否成功
https://localhost(没有缴费的证书,谷歌视为不安全,点高级,进去能够打开默认页面就成功了)