gpt4 book ai didi

nginx - drf_yasg swagger 中的 base_url 问题

转载 作者:行者123 更新时间:2023-12-05 00:55:18 25 4
gpt4 key购买 nike

我在 8000 端口中使用 Nginx 运行 Django。这里 Nginx 暴露在 8000 端口之外。但在 Swagger UI 中,base_url 设置为无端口。所以 Swagger 试图在没有端口的情况下访问端点,然后它给出一个响应为 TypeError: Failed to fetch

请引用下图了解 base_url 是如何设置的 enter image description here

请引用下图了解 Swagger 如何发送请求 enter image description here

当我使用 Postman 访问端点(带端口)时,它工作正常。仅当我尝试使用 Swagger 时才会出现此问题(因为发送的请求没有端口)。

在这里,我希望 Swagger 使用端口发送所有请求。请帮我解决这个问题。谢谢。

注意:

  1. 我正在使用 drf-yasg==1.17.1 包来生成 Swagger UI
  2. 其他要求是 Django==3.0.3djangorestframework==3.11.0

最佳答案

您还需要告诉 Nginx 转发服务器端口。当 swager 从请求 header 中获取基本 url 端口时(如果没有按照 mtshaikh 的建议进行硬编码)。

例如。像这样的东西应该在 Nginx 配置中

location / {
proxy_set_header Host $host:$server_port;
proxy_pass http://example.com:8000/;
}

关于nginx - drf_yasg swagger 中的 base_url 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64784245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com