尾部斜杠的FastAPI重定向返回非ssl链接

调用端点时遇到问题,由于缺少尾部斜杠而发生重定向。如下图所示,当请求https:/…/通知时,FastAPI服务器会重定向到http:/…通知/

我怀疑这是一个应用程序配置问题,而不是服务器配置问题。有人知道如何解决这个问题吗

这是因为您的应用程序不信任覆盖方案的反向代理头(处理TLS请求时传递的X-Forwarded-Proto头)

有几种方法可以解决这个问题:

  • 如果直接从uvicorn服务器运行应用程序,请尝试使用标志--forwarded allow ips'*'

  • 如果您正在运行gunicorn,您还可以设置标志--forwarded allow ips=&quot*&引用

  • 在任一应用程序中,您都可以另外使用FORWARDED\u ALLOW\u IPS环境变量

重要提示:应仅将*用作测试,因为它会使应用程序信任来自任何源的X-Forwarded-*头。我建议您阅读uvicorn的文档和gunicorn的文档,以便更深入地了解在这个标志中设置什么以及为什么设置

发表评论