带有springdoc-openapi-ui(Swagger UI)的Sping Boot 2.2应用程序运行HTTP端口。该应用程序部署到Kubernetes,入口将HTTPS请求从集群外部路由到服务。
在这种情况下,在https://example.com/api/swagger-ui.html
可用的Swagger UI具有错误的“生成的服务器URL”-http://example.com/api
。而它应该是https://example.com/api
。
虽然通过HTTPS访问Swagger UI,但生成的服务器URL仍使用HTTP。
5条答案
按热度按时间j9per5c41#
我也有同样的问题。下面的对我有用。
41zrol4v2#
如果接受的解决方案对您不起作用,那么您始终可以通过定义一个bean来手动设置url。
而url可以通过一个属性定义并注入到这里。
nbnkbykc3#
springdoc-openapi
常见问题解答中有一节如何在反向代理后面部署Doployspringdoc-openapi-ui
?。FAQ部分可以扩展。
确保X转发的标头是由您的代理发送的(
X-Forwarded-For
、X-Forwarded-Proto
和其他)。如果您使用的是Undertow(
spring-boot-starter-undertow
),请设定属性server.forward-headers-strategy=NATIVE
,让Web服务器以原生方式行程X-Forwarded信头。此外,如果您不使用Undertow,请考虑切换到它。如果您使用的是Tomcat(
spring-boot-starter-tomcat
),请设置server.forward-headers-strategy=NATIVE
属性,并确保在server.tomcat.internal-proxies=192\\.168\\.\\d{1,3}\\.\\d{1,3}
属性中列出要信任的所有内部代理的IP地址。默认情况下,10/8、192.168/16、169.254/16和127/8中的IP地址是受信任的。或者,对于Tomcat,设置属性
server.forward-headers-strategy=FRAMEWORK
。有用的链接:
xe55xuns4#
如果您有非默认上下文路径
y1aodyip5#
下面对我有用。
或
Generated server url is HHTP - issue