当前位置: 首页 > 知识库问答 >
问题:

烧瓶护身符不工作并重定向到https://localhost:8000

邹英发
2023-03-14

我一直在我的开发服务器上运行flask talisman,一切正常。然而,在我的专用生产服务器(Almalinux)上安装了相同的代码和要求,只需在app=Flask(_uname_u)之后添加Talisman(app)就会导致网页加载时不会重定向到https://localhost:8000.在域中键入后,我在浏览器上准确地看到的错误消息是:

无法访问此网站-localhost拒绝连接

我正在用gunicorn 20.1.0和supervisor运行Nginx 1.14.1。该服务器已连接到互联网,目前为止,在不使用Talisman的情况下运行顺利。

我尝试过但没有任何效果的事情列表

  • 暂时停止防火墙
  • 重启nginx
  • 两人都试图通过其域和IP地址访问该网站-重定向到localhost:8000仍然存在
  • 尝试在其他端口上运行应用程序,例如8000进行测试
  • 将代码简化为一个在我的开发服务器上运行良好但在我的正式服上运行不佳的迷你教程。所以我想这不可能是应用程序本身。
  • 检查了错误日志,实际上什么都没有,不在nginx错误日志或python应用程序错误日志中。访问日志没有显示任何正常的东西,就像一切都检查出来一样。
  • 搜索了互联网,没有找到任何指向正确方向并解释重定向到localhost:8000失败的东西

这是一个精简的教程代码,应该在我的服务器上运行但不运行:

from flask import Flask
from flask_talisman import Talisman

app = Flask(__name__)
Talisman(app)
app.secret_key = 'kungfoo'

@app.route('/', methods=['GET', 'POST'])
def index():
    return "Hello stackoverflow!"

if __name__ == "__main__":
    app.run(debug=True)

共有1个答案

霍建章
2023-03-14

proxy_set_header X-Forwarded-Proto $scheme; 

在nginx中实现这个技巧。服务器位置/{}块中的conf。这在gunicorn文档中有说明,很容易被忽略。。。

建议将协议信息传递给Gunicorn。许多web框架使用这些信息生成URL。如果没有这些信息,应用程序可能会在“https”响应中错误地生成“http”URL,从而导致混合内容警告或应用程序损坏。

 类似资料:
  • 我正在使用flask应用程序工厂模式,比如,并运行这个。py文件: 然后我像这样运行应用程序: 但是当我去http://localhost:5000它不起作用。它说: 未找到 在服务器上找不到请求的URL。如果您手动输入URL,请检查拼写并重试。 可能有什么问题?当我有127.0.0.1地址时,它运行良好。。。 我需要在“localhost”上运行,因为我正在集成方形支付,他们的沙盒设置需要我从“

  • 我正在尝试将所有http流量的重定向配置为仅重定向到https。我的配置如下 我们使用的是弹性负载均衡和 EC2 实例 在这种情况下,已配置应用程序负载均衡器。 后端服务器正在使用 Nginx 在端口 443 上工作 为 http 到 https 重定向配置了 Nginx 重定向规则 为端口 80 和 443 配置了 ELB 侦听器 在支持的服务器和 ELB 中都安装了 SSL 证书 我的问题是,

  • 我想将任何不安全的请求重定向到https,并确保url始终使用“www”。这就是我所拥有的,但似乎不起作用。我错过了什么?

  • 网络检查显示:请求URL:数据:text/html,chromewebdata请求头显示临时头用户代理:Mozilla/5.0(Windows NT 6.3;WOW64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/36.0.1985.143 Safari/537.36 这些选项卡中没有预览和响应数据。

  • 在过去的几周里,我花了太多的时间试图让它发挥作用。我的目标是使用烧瓶框架创建一个简单的网络应用程序,但我不断收到错误,几个小时的谷歌搜索和搜索stackoverflow也没有帮助。 我正在学习一个教程,该教程要求我运行:$python3 routes.py 只有我才能得到以下错误: 回溯(最近的最后一次调用):文件“routes.py”,第1行,从flask导入flask中,呈现\u模板导入错误: