Firewall
在 GCE 上為我的實例打開埠時遇到問題
我正在執行一個 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 反向移植錯誤修復。