因为公司要开发微信小程序,由于小程序比较特殊,需要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域名是否配置成功
如有疑问,请在本文或原文地址内留言咨询;
|