localhost 與 127.0.0.1 的 Nginx 502 錯誤

localhost 與 127.0.0.1 的 Nginx 502 錯誤

我有一個在 127.0.0.1:8080 上運行的 Web 應用程式。最初我nginx.conf透過使用配置了我的localhost:8080。例子:

location / {
    proxy_set_header Host $host;
    proxy_pass http://localhost:8080;
}

這在 99% 的情況下都工作得很好。然而問題是,當用戶發出的請求觸發了我的 Web 應用程式中的恐慌時,該用戶不僅會收到 502 錯誤,而且我的整個網站也會對所有用戶關閉。直到我手動重新啟動網頁應用程式。

預期行為是觸發錯誤的使用者將收到 502 錯誤,但該錯誤對於所有其他使用者來說是隔離的。因此,該網站仍然可以訪問,而不是對所有人都關閉。

我在如何解決這個問題上被困了很長時間。直到我開始使用127.0.0.1:8080而不是localhost:8080.所以

location / {
    proxy_set_header Host $host;
    proxy_pass http://127.0.0.1:8080;
}

127.0.0.1:8080如果一個用戶在我的網路應用程式中觸發了恐慌,那麼每個人都不會再使用我的網站。

這是什麼原因呢?我想localhost127.0.0.1是一樣的。這是因為使用localhost伺服器仍然需要執行 DNS 請求,而 DNS 由於錯誤而無法使用嗎?

相關內容