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


    转自

    http://blog.csdn.net/sinat_21302587/article/details/53641100

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

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

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

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

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

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

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

    然后重启防火墙:

    service iptables restart

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

    特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的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,那样只能是无用功。 

  • 相关阅读:
    BZOJ 1651: [Usaco2006 Feb]Stall Reservations 专用牛棚
    AC日记——绿豆蛙的归宿 codevs 2488
    AC日记——codeforces Ancient Berland Circus 1c
    AC日记——平衡树练习 codevs 4244
    AC日记——[NOIP2015]运输计划 cogs 2109
    AC日记——pigs poj 1149
    AC日记——Card Game codeforces 808f
    AC日记——斐波那契数列(升级版) 洛谷 P2626
    AC日记——Collectors Problem uva 10779
    AC日记——中山市选[2009]小明的游戏 bzoj 2464
  • 原文地址:https://www.cnblogs.com/dongruiha/p/7411956.html
Copyright © 2020-2023  润新知