因现在大势所趋,多数的浏览器已经开启了对HTTP提示不安全的说法,于是乎需要给咋们的站点配置一下相关SSL证书。
关于证书的购买,之前阿里云的服务器还有免费的证书领,现在上次一看!没了!都是需要花钱买证书了!
无奈!本来还想着使用Let's Encrypt进行部署测试,不过过程有点小繁琐,就暂时搁置!
后来在阿里云搜索到一个免费 和一个 ### FreeSSL
开始鼓捣起来.
阿里云的免费就比较简单直接的购买即可,然后他会自动帮你进行DNS绑定验证。
然后就是https://freessl.cn/,这个经过实践也是可以的,直接的再浏览器那边生成证书或使用配套的工具https://keymanager.org/进行生成。
遇到的问题点:
1:相关证书的格式问题,其实是对证书理解不够彻底:
以下是阿里云的说明:
证书文件说明
一般情况下, 您下载的文件是一个压缩包,解压后根据不同的证书格式可能包含以下文件:
.key 文件是证书私钥文件,如果申请证书时没有选择系统创建CSR,则没有该文件。此时该私钥文件由您自己保管。
.crt 文件是证书文件,一般包含两段内容。如果是Apache服务器,会将证书文件拆分成 _public.crt(证书)文件和_chain.crt(证书链或中间证书)文件。
.pem 文件是证书文件,一般包含两段内容。一般Nginx的一些文档会用该扩展名文件,在阿里云证书中与.crt文件一样。
友情提示: .crt扩展名的证书文件采用Base64-encoded的PEM格式文本文件,可根据需要,修改成.pem等扩展名。
.pfx 文件,一般适合Tomcat/IIS服务器;每次下载都会产生新密码,该密码仅匹配本次下载的证书。如果需要更新证书文件,同时也要更新密码。
如果证书是在阿里云的产品上使用,建议下载Nginx版本证书。
2:再证书安装好之后,遇到的问题点就是,重启nginx的时候遇到错误问题:
# [nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/ngin](https://www.cnblogs.com/ghjbk/p/6744131.html)
此情况主要原因是因为还没有安装对应的nginx支持SSL的模块
查看nginx -V 确实是没有安装相关的模块。于是乎需要重新的动态安装一下模块。
动态安装模块的方法:参考https://www.jianshu.com/p/a986409e2edd
需要找到对应的版本的源码,再原来的源码的基础在进行重新的模块的编译。
3:安装对应的模块后,配置相关SSL证书,配置HTTPS和HTTP同一个虚拟服务下。配置成功后,但是无法访问~~
配置HTTPS和HTTP同一个虚拟服务下:
后来想到的问题点是:
1:阿里云的安全组的策略问题,但是一看安全组策略默认的443端口是开启的。
2:后来想到自身的服务器端口的防火墙问题,发现,防火墙只配置了80端口的规则允许访问,最后直接的关闭了对应的防火墙即可,或者允许相关端口。
关于多条规则允许配置“
关于防火墙的一些问题:
# service iptables status #查看iptables状态
# service iptables restart #iptables服务重启
# service iptables stop #iptables服务禁用
如果上面的几个命令无法使用,说明缺少对应的模块的安装》
1. 使用systemctl
systemctl [start|stop|restart|save|status] iptables.service
2. 安装iptables-services
yum install iptables-services
systemctl enable iptables.service //设置开机启动
之后就可以使用以下指令了:
service iptables [start|stop|restart|save|status]