Ubuntu

Ubuntu + Nginx 127.0.0.1 有效,但 localhost 無效

  • October 20, 2021

這個很奇怪,因為我沒有任何錯誤消息。

我有一個非常基本的預設文件:

server {
   #listen   80; ## listen for ipv4; this line is default and implied
   #listen   [::]:80 default ipv6only=on; ## listen for ipv6

   root /var/www;
   index index.html index.htm index.php;

   # Make site accessible from http://localhost/
   server_name localhost;

   access_log      /var/log/nginx/default.access_log;
   error_log       /var/log/nginx/default.error_log warn;

   location / {
           # First attempt to serve request as file, then
           # as directory, then fall back to index.html
           try_files $uri $uri/ /index.html;
   }

   location /doc {
           root /usr/share;
           autoindex on;
           allow 127.0.0.1;
           deny all;
   }

   location /images {
           root /usr/share;
           autoindex off;
   }

現在,在外殼中,

ping localhost 

很好。

但是,在任何瀏覽器中,它都會顯示錯誤。例如,Chrome 會說:“糟糕!Google Chrome 找不到本地主機”。

另一方面,127.0.0.1 在瀏覽器中工作。

也許你知道我應該在哪裡檢查錯誤?/var/log 和其他文件中沒有任何內容是乾淨的….

謝謝大家!實際上 nslookup 不相關,謝謝@Mark!所以我嘗試了

sudo ping localhost 

並得到了正確答案。

最後 chmod’ed /etc/hosts到 644 現在一切正常。雖然,不確定 644 是否是 chmod 的最佳選擇。

另一件事,我不知道為什麼最初對**/etc/hosts**的權限是

-rw------- 1 root root 278 2011-12-02 22:52 /etc/hosts

但現在它有點無關緊要。

首先,ping與 NGINX 完全相關,您可以 ping 任何將響應 ping 請求的伺服器,而不管服務正在執行。

查看;

curl -I -v http://127.0.0.1/- 將查看該站點是否可以通過本地地址訪問

curl -I -v http://localhost/- 將查看該站點是否可以通過本地主機名訪問

curl -I -v http://serverhostname/- 將查看該站點是否可以通過伺服器主機名訪問

nslookup localhost- 確保 ’localhost’ 解析為 127.0.0.1

發布該輸出,如果您仍有問題,我們可以為您提供更多指導

引用自:https://serverfault.com/questions/336985