
我有一個在 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
如果一個用戶在我的網路應用程式中觸發了恐慌,那麼每個人都不會再使用我的網站。
這是什麼原因呢?我想localhost
和127.0.0.1
是一樣的。這是因為使用localhost
伺服器仍然需要執行 DNS 請求,而 DNS 由於錯誤而無法使用嗎?