使用ss启动docker和烧瓶应用程序

2021-06-14 23:42:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个具有SSL授权的flask应用程序。 这是我的运行.py公司名称:

#!flask/bin/python
from app import app
import ssl
ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
ctx.load_cert_chain('sertnew/se-emulator.crt', 'sertnew/se-emulator.key')
app.run(debug=True, host='127.0.0.1', port=5000, ssl_context=ctx)

在我的机器上,我用 python run.py 然后我在chrome中打开https://localhost:5000,它就可以工作了(有一条非安全连接的消息,但对我来说没问题)

现在我正在努力使它在Docker容器中工作。 我有一个这样的Dockerfile:

^{pr2}$

试着用不同的方式运行它。 我可以看到“Running on https://127.0.0.1:5000/(按CTRL+C退出)”消息,但无法在浏览器中打开页面。我做错什么了?在

1条回答
网友
1楼 ·

这是一个相当简单的解决方法,您必须更改以下行:

app.run(debug=True, host='127.0.0.1', port=5000, ssl_context=ctx)

^{pr2}$

您必须从容器的角度考虑:容器有自己的“localhost”,这与主机的localhost不同,这意味着flask从未收到请求。在

因此,您可以简单地绑定到容器中的所有IP,这是通过绑定到“0.0.0.0”来完成的。在

相关问题