Swagger3.0文档页面访问显示ip问题解决
先放个截图,如下所示
上面是使用了swagger3.0.0的版本,测试环境下部署使用了nginx配置域名+本地配置host的访问,但在本地访问地,调用接口都是ip+端口的方式,
通过在代码中,配置host参数,不起作用。
return new Docket(DocumentationType.OAS_30).pathMapping("/")
// 定义是否开启swagger,false为关闭,可以通过变量控制
.enable(swaggerProperties.getEnable())
// 将api的元信息设置为包含在json ResourceListing响应中。
.apiInfo(apiInfo())
// 接口调试地址
.host("http://my.xavier.com")
// 选择哪些接口作为swagger的doc发布
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build()
// 支持的通讯协议集合
.protocols(Sets.newHashSet("https", "http"))
// 授权信息设置,必要的header token等认证信息
.securitySchemes(securitySchemes())
// 授权信息全局应用
.securityContexts(securityContexts());
通过观察,ip+端口,发现其是在nginx中配置的转发端口,感觉其应该跟nginx配置参数相关,于是调用了一番,发现了proxy_set_header 参数的配置
location ^~ / {
proxy_pass http://123.2.0.3:8088;
proxy_set_header Host $host;
}
总结:proxy_set_header 就是可设置请求头-并将头信息传递到服务器端。不属于请求头的参数中也需要传递时 重定义下即可。
关于proxy_set_header的具体介绍可参考下面这篇文章