这里有奇怪的问题。我经历过本教程为 Flask 应用程序设置部署环境。
当我导航到服务器的本地 IP 地址时,一切都运行正常。但是我认为在外部提供 Flask/Python 逻辑时存在问题。
端口 80 已打开并成功转发,如其当前页面所示(Index Of/Apache 等),但它没有像在本地子网中那样显示“Hello, I love DigitalOcean”。在我启用 Sites-Enabled 中的 Flask 应用之前,它还显示了默认的 Apache HTML 模板。
在我的 Apache .conf 文件中,我目前将 ServerName 设置为本地 IP 地址。我的理解是,所有往返于端口 80 的流量都会被路由到该地址,并且当它仅向外部提供静态 Apache HTML 文件时它可以工作。
我在这里非常困惑,这几乎就像是 python/flask 逻辑在不同的端口上传输并且没有传出去!?
答案1
我刚刚才搞明白。我必须将 .conf 文件中的 ServerName 更改为机器的实际主机名,因为它与我的 Sonicwall 配置中的地址对象匹配。(我认为这是原因,但老实说,我并不完全确定。)