调用端点时遇到问题,由于缺少尾部斜杠而发生重定向.如下图所示,当向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相关问答推荐

使用Polars阅读按日期键分区的最新S3镶木地板文件

一种基于绝对排序值的极框索引和列定位的Python方法

丢弃重复的索引,并在多索引数据帧中保留一个

在Pandas 数据帧中为小于5位的邮政编码添加前导零

在python内的powershell中转义$_

Python,Web 从交互式图表中抓取数据

根据按不同列中的值分组的平均值划分 DataFrame

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

Pandas:从 Pandas 数据框中的 1 和 0 模式中获取值和 ID 的计数

如果网站加载时间过长,如何强制 Selenium 刷新

pip 找不到最新的软件包版本

段落中句子的索引

spaCy 中的匹配模式返回空结果

从 yahoo Finance python 一次下载多只股票

`pyspark mllib` 与 `pyspark ml` 包

pysftp vs. Paramiko

virtualenv virtualenvwrapper virtualenv:错误:无法识别的参数:--no-site-packages

如何使 Python3 成为 Geany 中的默认 Python

为什么`multiprocessing.Queue.get`这么慢?

在 WSL (Ubuntu) 中为 python3 安装 venv