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

2,262 阅读1分钟
原文链接: mp.weixin.qq.com

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

本地测试都没有问题

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

  1. server {

  2.    listen       80;

  3.    server_name  quanke.name;

  4.    location / {

  5.        proxy_pass http://127.0.0.1:3101;

  6.    }

  7. }

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

                            
  1. No Content。

Request URL:

  1. http://127.0.0.1:3101/test

而不是

  1. http://quanke.name/test

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

第一种:修改nginx配置文件

  1. server {

  2.    listen       80;

  3.    server_name  quanke.name;

  4.    location / {

  5.        proxy_pass http://127.0.0.1:3101;

  6.    }

  7. }

修改为:

  1. server {

  2.    listen       80;

  3.    server_name  quanke.name;

  4.    location / {

  5.        proxy_pass http://127.0.0.1:3101;

  6.        proxy_set_header Host $host; # 指定host

  7.    }

  8. }

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

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

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

启动命令实例:

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

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


全科龙婷▼升职加薪