Nginx無法透過網域:80的形式訪問,但是其他都可以,是什麼原因?
怪我咯
怪我咯 2017-05-16 17:26:10
0
5
905
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資訊。
可能是什麼原因呢?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回覆(5)
Ty80

UNIX系統中1024以下連接埠需要root權限才可以監聽,是否在啟動的時候沒有加上sudo

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

大家讲道理

你在訪問 域名:80 的时候,难道浏览器不会自动把 :80 帮你去掉吗?按理说,80 是常見的 HTTP 服務的預設商品,瀏覽器會自動處理啊。

你這個配置,直接存取 foo.bar.com 就可以了,不需要再加 :80。當你透過 IP 直接存取時,存取的是 Nginx 的預設監聽 80 連接埠的那一個設定。

洪涛

nginx.conf或是其他的vhost的conf檔案中做了限制ip存取的
例如:
server {
listen 80 default;
server_name _;
server_name www.example.com example.com
return 500;
}

習慣沉默

nmap foo.bar.com 看看你的foo.bar.com是否是你VPS的IP,順便看看80埠是否已經被監聽了。哦,還有可能涉及備案之類的問題。 。 。

大家讲道理

可以查下是否是備案的問題。同意RobinTang。 (還不能贊同。。)
121.222.208.43 - - [時間] "-" 400 0 "-" "-"
400 Bad request.
訪問到達Nginx前就已經被破壞了。結合其他連接埠可用,很有可能是備案的問題了。 (也許只有80,443不好用?)
自己都是買的國外的VPS和域名,沒遇過這個問題。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!