用于尾部斜杠的FastAPI重定向返回非SSL链接

问题描述

当我们调用端点并由于缺少尾部斜杠而发生重定向时,遇到了一个问题。如下图所示,当向 https ://.../notifications发送请求时,FastAPI服务器以重定向到 http 的响应:/ / ...通知/

我怀疑这是应用程序配置问题,而不是服务器配置问题。有谁知道如何解决此问题?

example of redirect

解决方法

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

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

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

  • 如果您正在运行gunicorn,则还可以设置标志--forwarded-allow-ips="*"

重要*仅应用作测试,因为它会使您的应用程序信任来自任何来源的X-Forwarded-*标头。建议您阅读uvicorn's docsgunicorn's docs,以更深入地了解在此标志中设置的内容以及原因。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...