解决通过 Nginx 无法打开 Knife4j 页面问题
问题描述
我们有一个项目使用了 Knife4j,依赖的版本为
1 | <dependency> |
这个版本的 Knife4j 使用了 SpringDoc,其获取 Swagger 配置的地址为 /v3/api-docs/swagger-config
,获取文档的地址为 /v3/api-docs
,如果项目有多个分组,获取单个分组,比如分组“1-动物”,的文档的地址为 /v3/api-docs/1-动物
。
在项目部署时在项目的前面放置了一台 Nginx 反向代理服务器,配置了当访问路径为 /example
时会将请求转发到我们自己的项目
1 | location /example/ { |
当访问 http://localhost/example/doc.html
时,Knife4j 能正常的访问 Swagger 的配置,即 http://localhost/example/v3/api-docs/swagger-config
,但是无法访问 http://localhost/v3/api-docs/1-动物
,因此无法打开 Knife4j 文档页面。