springdoc-openapi swagger-ui 代理配置后面
springdoc-openapi swagger-ui behind proxy configuration
我在 spring boot 2.3.1 应用程序上添加了 swagger-ui,它在本地运行良好。
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.3.9</version>
</dependency>
此应用程序部署在 kubernetes 集群中,但无法访问(无入口)
相反,我们部署了另一个 spring 可访问并可以调用此服务的启动应用程序。
API 呼叫重定向正常,但 swagger-ui 不起作用。
基本上,我的代理应用程序可以像这样访问:
https://app-dev.domain.io/proxy-service/v2/my-service/**
=> https://app-dev.domain.io/proxy-service/v2/my-service/swagger-ui.html
在我的代理服务中,我这样设置 X-Forwarded header:
X-Forwarded-Host=主机header(app-dev.domain.io)
X-Forwarded-原型=https
X-Forwarded-前缀=/proxy-service/v2/my-service/
我也设置了headerAccept-Encoding=identity
代理服务然后调用集群内部的http://my-service
在 MyService 配置中我设置:
服务器.forward-headers-strategy=框架
它似乎找到了静态文件,但我收到 javascript 错误和空白页:
未捕获的语法错误:输入意外结束
swagger-ui-standalone-preset.js:21 未捕获的语法错误:无效或意外的标记
index.html?configUrl=/proxy-service/v2/my-service/v3/api-docs/swagger-config:41 未捕获的引用错误:未定义 SwaggerUIBundle
在 window.onload
根据我的搜索,我做了需要的事情(headers-strategy 在被调用的服务中,X-Forwarded 在代理中)
任何帮助都会很棒,因为我希望服务能够轻松测试,而无需手动维护邮递员 collection 或类似的东西。 (总是在某个时候忘记)
谢谢
我发现 javascript 文件被截断了。
所以 javascript 错误是有道理的。
我会在解决这个问题后重试
编辑:
它现在正在处理完整的 javascript 文件。
我使用 HttpURLConnection 而不是 RestTemplate 无缘无故地截断文件
我在 spring boot 2.3.1 应用程序上添加了 swagger-ui,它在本地运行良好。
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.3.9</version>
</dependency>
此应用程序部署在 kubernetes 集群中,但无法访问(无入口)
相反,我们部署了另一个 spring 可访问并可以调用此服务的启动应用程序。 API 呼叫重定向正常,但 swagger-ui 不起作用。
基本上,我的代理应用程序可以像这样访问: https://app-dev.domain.io/proxy-service/v2/my-service/**
=> https://app-dev.domain.io/proxy-service/v2/my-service/swagger-ui.html
在我的代理服务中,我这样设置 X-Forwarded header:
X-Forwarded-Host=主机header(app-dev.domain.io)
X-Forwarded-原型=https
X-Forwarded-前缀=/proxy-service/v2/my-service/
我也设置了headerAccept-Encoding=identity
代理服务然后调用集群内部的http://my-service
在 MyService 配置中我设置: 服务器.forward-headers-strategy=框架
它似乎找到了静态文件,但我收到 javascript 错误和空白页: 未捕获的语法错误:输入意外结束 swagger-ui-standalone-preset.js:21 未捕获的语法错误:无效或意外的标记 index.html?configUrl=/proxy-service/v2/my-service/v3/api-docs/swagger-config:41 未捕获的引用错误:未定义 SwaggerUIBundle 在 window.onload
根据我的搜索,我做了需要的事情(headers-strategy 在被调用的服务中,X-Forwarded 在代理中)
任何帮助都会很棒,因为我希望服务能够轻松测试,而无需手动维护邮递员 collection 或类似的东西。 (总是在某个时候忘记) 谢谢
我发现 javascript 文件被截断了。 所以 javascript 错误是有道理的。 我会在解决这个问题后重试
编辑: 它现在正在处理完整的 javascript 文件。 我使用 HttpURLConnection 而不是 RestTemplate 无缘无故地截断文件