gpt4 book ai didi

python - Flask 应用不能暴露在 Droplet 上

转载 作者:太空狗 更新时间:2023-10-29 22:28:35 24 4
gpt4 key购买 nike

我正在将 Flask 服务器部署到 Digital Ocean Droplet。

from flask import Flask

app = Flask(__name__)

@app.route("/a/<string:b>")
def deploy(b):
return "Response"

使用以下命令:

FLASK_APP=server.py python -m flask run --host=0.0.0.0 --port=5555

当我在本地部署应用程序时,我可以通过执行以下操作来接收响应

curl -XGET localhost:5555/a/random

当部署在 Droplet 上时,它在内部工作,但是当从外部调用 Droplet 时(尽管在 TCP 上暴露了端口 5555)它不连接。

什么可以改变?我还通过 docker 在同一个 droplet 上部署了一个 flask graphql 服务器,效果非常好。

最佳答案

这可能是使用 VPS 时的常见问题。如果代码正确,像我这样的人可能经常忘记设置防火墙

您提到它在本地有效,但在外部无效。我想应该是。

数字海平面:

  • 在 Droplet 防火墙设置中添加入站 TCP 端口 5555

系统级

  • iptables:例如iptables -A INPUT -p tcp -dport 5555 -j ACCEPT
  • 防火墙:例如firewall-cmd --permanent --zone=public --add-port=5555/tcp

或者您可以通过 systemctl stop [service-name]service [service-name] stop 禁用操作系统防火墙。你可以用谷歌搜索命令。

关于python - Flask 应用不能暴露在 Droplet 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51199475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com