在端口80上听,但不能使用centos 7.1上的nginx从公众访问

时间:2016-02-24 17:11:58

标签: nginx centos

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      16146/nginx: master

nginx确实收听了端口80.这是/etc/nginx/conf.d/default.conf

中的配置
server {
    listen       80;
    server_name  _;

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ { ...

我使用公共IP在云主机上运行nginx,但由于连接超时,我无法从公共网络访问该IP。

1 个答案:

答案 0 :(得分:0)

第一: 使用tcpdump来检查你是否想要连接服务器u 在dest服务器:
tcpdump -i your_wan_if port 80(例如:tcpdump -i venet0 port 80
在当地主持人:
telnet external_ip 80
如果你会看到ur ip的任何活动 - 很好。

第二:
检查selinux和防火墙。尝试暂时禁用它们并检查。

(如果你知道如何配置iptables - 做它。不知道 - 使用谷歌。不要谷歌 - 使用这个: iptables -I INPUT 4 -p tcp --dport 80 -j ACCEPT