解决 Nginx 部署,无法访问 Swagger 文档的问题

教程 专栏收录该内容
20 篇文章 0 订阅

原文链接: https://www.changxuan.top/?p=1161

起因

昨天的时候,同事遇到了一个问题需要访问一个 nginx 部署的项目的 swagger 文档,但是在路由转发规则那里加上了 swagger-ui.html 之后仍不能访问。平时我们在内网开发,可以直接访问 后端项目ip:port/swagger-ui.html 就可以了。但是目前只有 nginx 所在服务器外网可以访问,所以外面的人想看接口文档只能通过 nginx 转发请求。

解决办法

nginx 的其它配置不需要改动,直接将下面的location 配置添加到你的配置中即可:

location ~* ^(/v2|/webjars|/swagger-resources|/swagger-ui.html){
       proxy_set_header Host $host;
       proxy_set_header  X-Real-IP  $remote_addr;
       proxy_set_header X-Forwarded-For $remote_addr;
       #proxy_set_header Host $host:$server_port;
       proxy_set_header X-Forwarded-Proto $scheme;
       proxy_set_header X-Forwarded-Port $server_port;
       proxy_pass http://10.18.66.66:8600; # 后端服务地址
}

其实这也不是什么大问题,只要熟悉 nginx 基本配置都可以很快解决。但是我看网上好多博文都没说到关键的地方,大多数在讲应该如何配置 proxy_set_header主要的原因则是 swagger-ui.html 页面虽然看着只是一个页面,但是当你打开这个页面的时候还伴随着其它的请求。如果在 nginx 的配置中没有处理那些请求相应的转发规则,那么自然不会显示文档页面。

  • 2
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页

打赏

壹言

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值