因为公司要开发微信小程序,由于小程序比较特殊,需要https服务,所以就研究了下apache的https服务了,大致过程如下:
1.向证书机构申请https证书,会得到证书和私钥
2.安装apache的mod_ssl.so模块
yum -y install mod_ssl
3.若启用了防火墙需要添加https服务(service iptables status或者在使用firewall的情况下用 systemctl status firewalld)
31用iptables的情况
iptables -A FORWARD -p tcp --dport 443 -j ACCEPT (用于放行客户端请求https服务的报文)
iptables -A FORWARD -p tcp --sport 443 -j ACCEPT(用于放行https服务器发送给客户端的报文)
32用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
centos出现“FirewallD is not running”怎么办
最近在阿里云服务器centos上安装了mysql数据库,默认是不开启远端访问功能,需要设置一下防火墙,在开放默认端口号 3306时提示FirewallD is not running,经过排查发现是防火墙就没打开造成的,出于安装考虑还是把防火墙开上吧,以下步骤仅供参考啦。
工具/原料
- 阿里云服务器centos
方法/步骤
- 1
执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示FirewallD is not running,如下图所示。
- 2
通过systemctl status firewalld查看firewalld状态,发现当前是dead状态,即防火墙未开启。
- 3
通过systemctl start firewalld开启防火墙,没有任何提示即开启成功。
- 4
再次通过systemctl status firewalld查看firewalld状态,显示running即已开启了。
- 5
如果要关闭防火墙设置,可能通过systemctl stop firewalld这条指令来关闭该功能。
- 6
再次执行执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示success,表示设置成功,这样就可以继续后面的设置了。
END
根据第三方提供的证书和私钥生成相应的文件
在/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域名是否配置成功