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

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

example of redirect

推荐答案

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

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

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

  • 如果你跑gunicorn,你也可以设置--forwarded-allow-ips="*".

  • 在这两种应用程序中,都可以另外使用FORWARDED_ALLOW_IPS环境变量.

Important: *只能用作测试,因为它会使应用程序信任来自任何来源的X-Forwarded-*头.我建议你阅读uvicorn's docsgunicorn's docs,更深入地了解在这面旗帜上设置什么以及为什么设置.

Python-3.x相关问答推荐

类型的可变性对变量的作用域有影响吗?

在Python中从列创建新行

msg-seviri l1.5本机文件

将两列的乘积连续添加到一列的累积和中

删除浮点型数据集中每列重复值比例超过一定阈值的列

从列表的元素和python中的多个多索引数据帧执行方程

删除Pandas 数据框行不起作用

当我判断另一个 checkButton 时,如何判断两个 python tkinter checkButtons?

如何在 VSCode 的在 Cloud Run Emulator 上运行/调试构建设置中添加 SQL 连接

解包时是否可以指定默认值?

如何使用pandas python获取数据框中每列的最大长度

Tkinter 窗口显示(无响应)但代码正在运行

tensorflow 中 numpy.newaxis 的替代方案是什么?

pip install dryscrape 失败并显示错误:[Errno 2] 没有这样的文件或目录:'src/webkit_server'?

如何使用 asyncio 添加连接超时?

从大字典中弹出 N 项的最快方法

在 ubuntu 20.04 中安装 libpq-dev 时出现问题

我可以替换 Python 中对象的现有方法吗?

哪个更有效:Python 文档字符串还是类型提示?

如何阻止散景在 Jupyter Notebook 中打开新标签?