嗨,我有一個用 golang 撰寫的 http 服務器,它位于 nginx 后面。對于大多數請求,服務器作業正常,但有時在 POST 請求中,我收到 502 和其他時間相同的請求作業正常。我在 nginx 日志中收到以下錯誤:
2021/11/25 12:11:09 [error] 1863330#1863330: *176 sendfile() failed (32: Broken pipe) while sending request to upstream, client: 101.0.53.60, server: cards.bytehack.io, request: "POST /story HTTP/1.1", upstream: "http://127.0.0.1:8081/story", host: "cards.bytehack.io"
我無法弄清楚是什么導致了這個錯誤。任何幫助表示贊賞。
uj5u.com熱心網友回復:
“Broken pipe”訊息通常發生在客戶端強行關閉連接時。那時,即使連接關閉,當 HTTP 服務器回應時,也會出現“管道損壞”錯誤(pipe error)。
要查看的一些主題是:
- 連接超時
- 傳輸的資料長度太大
看看這篇文章,它也可以引導你得出一些補充結論:https : //noknow.info/it/go/handling_error_broken_pipe?lang=en
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/367228.html
下一篇:在golang中強制傳遞依賴版本
