Firewall

在 GCE 上為我的實例打開埠時遇到問題

  • November 8, 2018

我正在執行一個 GCE 實例。我跑了sudo ufw allow http && nc -l 80,它成功了,表明80是開放的。但是,當我嘗試通過執行 waitress(一個 Python 伺服器)來打開伺服器時sudo waitress-serve --listen=0.0.0.0:80 --call 'flaskr:create_app',它不起作用。我確保在 GCP 中設置的防火牆允許埠 80 上的 TCP 連接。當我使用localhost而不是它時,0.0.0.0它很好,但如果我使用0.0.0.0,它會顯示以下堆棧跟踪:

File "/usr/lib/python3/dist-packages/waitress/__init__.py", line 11, in serve
   server = _server(app, **kw)
File "/usr/lib/python3/dist-packages/waitress/server.py", line 85, in create_server
   sockinfo=sockinfo)
File "/usr/lib/python3/dist-packages/waitress/server.py", line 183, in __init__
   self.effective_host, self.effective_port = self.getsockname()
File "/usr/lib/python3/dist-packages/waitress/server.py", line 299, in getsockname
   self.socketmod.NI_NUMERICSERV)

socket.gaierror: [Errno -3] Temporary failure in name resolution

這表明存在 DNS 問題,但我不清楚它是什麼。0.0.0.0表示它將嘗試連接它可以連接的任何 IP 地址。任何想法可能是什麼問題?

這是在 Waitress 1.0.2 中修復的錯誤。您應該升級到最新的可用版本,或者在 Launchpad 上送出錯誤報告以請求 Ubuntu 反向移植錯誤修復。

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