nginx https配置后无法访问,可能防火墙在捣鬼

举报
lxw1844912514 发表于 2022/03/27 02:27:55 2022/03/27
【摘要】 同事发现nginx配置后https 无法访问,我帮忙解决的时候从以下出发点   1.防火墙未开放443端口2.配置出错 123 于是就 netstat -anp 查看防火墙开的端口 发现已经在监听了,那肯定是配置问题。 检查配置没问题,重新生成证书等方法也还是无法访问,甚至在别的机器上https的配置c...

同事发现nginx配置后https 无法访问,我帮忙解决的时候从以下出发点

 


   
  1. 1.防火墙未开放443端口
  2. 2.配置出错
  • 1
  • 2
  • 3

于是就 netstat -anp 查看防火墙开的端口
这里写图片描述

发现已经在监听了,那肯定是配置问题。
检查配置没问题,重新生成证书等方法也还是无法访问,甚至在别的机器上https的配置copy过来依然无法访问

冷静下来想想,nginx都没有返回状态吗,直接无法连接。这到底请求到了吗?

只能进入防火墙配置文件看看了
vim /etc/sysconfig/iptables
这里写图片描述

问题就在这里了,开放端口一定要在
-A INPUT -j REJECT –reject-with icmp-host-prohibited
这句的前面,的前面,的前面!!!

因为顺序执行的原因,放在后面的规则就无效了,网上通常会看到这么一句话

特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面

原因是这条规则的作用是拒绝所有-j REJECT 在iptables帮助文档里面有一下说明This is used to send back an error packet in response to the matched packet

就是表明拒绝你,并返回一个错误连接信息。请求没到nginx那,肯定没有状态码返回,同时你的浏览器返回的只能是无法连接。

总结

被netstat -anp 出来的内容欺骗了,规则是添加了,但是没起效果。
如果返回404,403等等,那说明是nginx的配置等因素;
如果无法连接,通常是防火墙,或者nginx为启动等可能的因素;
冷静分析问题,查看错误信息,才是解决问题的办法,万万不能try stuff until it works,那样只能是无用功。

文章来源: blog.csdn.net,作者:lxw1844912514,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/lxw1844912514/article/details/100029399

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。