今天,公司项目需要增加https的访问方式。所以需要安装一份ssl安全证书。(证书获得可以去各网站购买。例如阿里云之类的)
弄来证书以后,把它安装到nginx上去,但是发觉怎么也访问不到,首先确定的是证书是对的。
接下来就是排查思路
1.dns排查,检查域名是否能正确解析到。
ping 域名
2.nginx安全模块是否安装。
rpm -qa | grep openssl
rpm -qa | grep mod_ssl
没有就安装咯~ yum -y install mod_ssl openssl
3.查看服务器实例安全组是否开放了443端口
4.使用telnet 检查端口是否能访问
telnet ip 443(此方法也适用于别的端口检查)
5.如果3第三步做完,第四步还是无法访问到端口,那就应该检查实例是否安装了防火墙,并且设置了规则
ps -ef | grep firewall
service iptables status(iptables 无法用ps查看,因为它不是进程,是把规则写入内核。我就是犯了这个错误白白浪费了几个小时,切记)
以上两个命令用来检查是否存在防火墙,如果iptables开启了,那么如果不想关闭,那就需要添加相应的规则
vim /etc/sysconfig/iptables
-A INPUT -p tcp --dport 443 -j ACCEPT
-A OUTPUT -p tcp --sport 443 -j ACCEPT
增加443端口进出规则
当然最简单方式就是直接service iptables stop
不过生产环境出于安全的考虑,最好还是继续开着把。因为如果安全组设置了全端口开放的情况下,iptables还是能起作用的。