首页 > Nginx无法通过域名:80的形式访问,但是其他都可以,是什么原因?

Nginx无法通过域名:80的形式访问,但是其他都可以,是什么原因?

server {

        listen   80;
        server_name foo.bar.com;
        access_log /www/logs/access.log;
        error_log /www/logs/error.log;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
         include        uwsgi_params;
         uwsgi_pass     127.0.0.1:8077;
        }

        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   html;
        }

        location /static/ {
            alias  /www/app/my_site/static/;
            index  index.html index.htm;
        }

        location /media/ {
            alias  /www/app/media/;
        }
    }

以上是配置文件, 如果把80改完8001,则可以访问。或者不修改80,而是直接通过ip访问,也可以访问。
单单是域名:80这组合不能访问。没有error信息。
可能是什么原因呢?


可以查下是否是备案的问题。同意RobinTang。(还不能赞同。。)
121.222.208.43 - - [time] "-" 400 0 "-" "-"
400 Bad request.
访问到达Nginx前就已经被破坏了。结合其他端口可用,很有可能是备案的问题了。(也许只有80,443不好用?)
自己都是买的国外的VPS和域名,没遇到过这个问题。


nmap foo.bar.com 看看你的foo.bar.com是否是你VPS的IP,顺便看看80端口是否已经被监听了。哦,还有可能涉及备案之类的问题。。。


UNIX系统中1024以下端口需要root权限才可以监听,是否在启动的时候没有加sudo

另外,是否已经把 127.0.0.1 foo.bar.com 加入hosts?


nginx.conf或者其他的vhost的conf文件中做了限制ip访问的
例如:
server {
listen 80 default;
server_name _;
server_name www.example.com example.com
return 500;
}


你在访问 域名:80 的时候,难道浏览器不会自动把 :80 帮你去掉吗?按理说,80 是常见的 HTTP 服务的默认商品,浏览器会自动处理啊。

你这个配置,直接访问 foo.bar.com 就可以了,不需要再加 :80。你通过 IP 直接访问时,访问的是 Nginx 的默认监听 80 端口的那一个配置。

【热门文章】
【热门文章】