问题描述
当我们调用端点并由于缺少尾部斜杠而发生重定向时,遇到了一个问题。如下图所示,当向 https ://.../notifications发送请求时,FastAPI服务器以重定向到 http 的响应:/ / ...通知/
我怀疑这是应用程序配置问题,而不是服务器配置问题。有谁知道如何解决此问题?
解决方法
这是因为您的应用程序不信任覆盖该方案的反向代理的标头(处理TLS请求时传递的X-Forwarded-Proto
标头)。
有几种方法可以解决此问题:
-
如果您是直接从
uvicorn
服务器运行应用程序,请尝试使用标志--forwarded-allow-ips '*'
。 -
如果您正在运行
gunicorn
,则还可以设置标志--forwarded-allow-ips="*"
。
重要:*
仅应用作测试,因为它会使您的应用程序信任来自任何来源的X-Forwarded-*
标头。建议您阅读uvicorn's docs和gunicorn's docs,以更深入地了解在此标志中设置的内容以及原因。