在 GCE 上为我的实例打开端口时遇到问题

在 GCE 上为我的实例打开端口时遇到问题

我正在运行一个 GCE 实例。我运行sudo ufw allow http && nc -l 80成功了,显示 80 已打开。但是,当我尝试使用 运行 Python 服务器 waitress 来打开服务器时,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 地址。您知道问题可能是什么吗?

答案1

这是一个漏洞该问题已在 Waitress 1.0.2 中修复。您应该升级到最新可用版本,或在 Launchpad 上提交错误报告以请求 Ubuntu 反向移植该错误修复。

相关内容