因为公司要开发微信小程序,由于小程序比较特殊,需要https服务,所以就研究了下apache的https服务了,大致过程如下:
1.向证书机构申请https证书,会得到证书和私钥
2.安装apache的mod_ssl.so模块
yum -y install mod_ssl
3.若启用了防火墙需要添加https服务(service iptables status或者在使用firewall的情况下用 systemctl status firewalld)
用iptables的情况
iptables -A FORWARD -p tcp --dport 443 -j ACCEPT (用于放行客户端请求https服务的报文)
iptables -A FORWARD -p tcp --sport 443 -j ACCEPT(用于放行https服务器发送给客户端的报文)
用firewall的情况
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
4.修改 ssl.conf
vim /etc/httpd/conf.d/ssl.conf
DocumentRoot "/var/www/html/test"
ServerName wxapp.peopleyuqing.com:443
SSLCertificateFile /etc/pki/tls/certs/test.crt
SSLCertificateKeyFile /etc/pki/tls/private/test.key
根据第三方提供的证书和私钥生成相应的文件
在/etc/pki/tls/certs目录下生成test.crt文件
sudo vim test.crt
-----BEGIN CERTIFICATE-----
MIIFbDCCBFSgAwIBAgIMVtlZSeWRODItrFfxMA0GCSqGSIb3DQEBCwUAMGYxCzAJ
BgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTwwOgYDVQQDEzNH
.............................................................................................................................................
-----END CERTIFICATE-----
在/etc/pki/tls/private目录下生成test.key文件
sudo vim test.key
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDFxXLjGbV8BsnD
7Map1od8GPKHCF52QBysabHb9GGQFrjPHkwC7SR/BWSIKw8IIi7USF/oefxWYXQ0
.........................................................................................................................................................
-----END PRIVATE KEY-----
5.修改httpd.conf
加载mod_ssl.so模块LoadModule ssl_module modules/mod_ssl.so
加载ssl.conf文件Include conf.d/*.conf(或者Include conf.d/ssl.conf)
6.测试配置文件并重启apache
sudo httpd -t (或者sudo service httpd configtest)
sudo service httpd restart
7.在刚才指定的根目录下生成php测试文件用于验证https域名是否配置成功