多种方式解决spring boot swagger ui使用 nginx 部署后无法使用问题

spring boot 使用 swagger ui 做接口文档,很是方便

本地测试都没有问题

将一个Spring boot工程部署到生产环境, 配置nginx:

server {
    listen       80;
    server_name  quanke.name;

    location / {
        proxy_pass http://127.0.0.1:3101;
    }
}

浏览器中访问: quanke.name, 选中某一接口点击try it out,显示:

No Content。

Request URL:

http://127.0.0.1:3101/test

而不是

http://quanke.name/test

通过朋友+搜索知道有两种方法解决此问题:

第一种:修改nginx配置文件

server {
    listen       80;
    server_name  quanke.name;

    location / {
        proxy_pass http://127.0.0.1:3101;
    }
}

修改为:

server {
    listen       80;
    server_name  quanke.name;
    
    location / {
        proxy_pass http://127.0.0.1:3101;
        proxy_set_header Host $host; # 指定host
    }
}

第二种:启动工程时显式添加属性

Java 启动的时候指定swagger.v2.host

-Dspringfox.documentation.swagger.v2.host=quanke.name

启动命令实例:

java -jar -Dspringfox.documentation.swagger.v2.host=quanke.name /data/app/quanke/api.jar 

或者在配置文件(application.properties)中进行配置

全科龙婷▼升职加薪

多种方式解决spring boot swagger ui使用 nginx 部署后无法使用问题_第1张图片
全科龙婷

你可能感兴趣的:(多种方式解决spring boot swagger ui使用 nginx 部署后无法使用问题)