Docker 連接埠暴露問題:解決「接收失敗:連線被對等方重設」
在Docker 環境中,您遇到了問題當嘗試公開在容器中執行的gRPC 服務時。偵聽連接埠8081 的服務無法接收連接,並出現錯誤「接收失敗:連接已被對等方重設。」
您的Docker Compose 配置正確地將連接埠8081 對應到容器的內部端口,但出現此問題是由於gRPC 伺服器綁定到其偵聽位址的方式。預設情況下,當使用「http.ListenAndServe("localhost:8081", nil)」時,伺服器僅偵聽環回介面 (127.0.0.1)。這意味著它只能接受來自容器本身內部的連接。
要解決此問題,您可以修改 Go 應用程式以偵聽所有介面。這可以透過使用以下程式碼來實現:
http.ListenAndServe("0.0.0.0:8081", nil)
透過指定“0.0.0.0”,伺服器將綁定到所有網路接口,從而允許它接受環回和外部連接。這將確保來自容器外部的請求可以到達您的 gRPC 服務。
附加說明:
以上是為什麼我無法連線到 Docker 中的 gRPC 服務:「接收失敗:連線被對等方重設」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!