我有一个具有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退出)”消息,但无法在浏览器中打开页面。我做错什么了?在
这是一个相当简单的解决方法,您必须更改以下行:
到
^{pr2}$您必须从容器的角度考虑:容器有自己的“localhost”,这与主机的localhost不同,这意味着flask从未收到请求。在
因此,您可以简单地绑定到容器中的所有IP,这是通过绑定到“0.0.0.0”来完成的。在
相关问题 更多 >
编程相关推荐