一、该问题的重现步骤是什么?
1. 我部署swagger的服务到服务器上面后,访问:http://服务器IP:18000/doc.html 显示 Knife4j文档请求异常
2. F12 打开控制台追踪API发现:http://服务器IP:18000/blade-auth/v2/api-docs 这个API响应数据:You do not have permission to access this page
3. 我的swagger配置如下:其中
172.17.0.10:8080 : gateway的docker内网ip + 端口
: : : - : : 172.17.0.10:8080 : /blade-auth/v2/api-docs - : : 172.17.0.10:8080 : /blade-desk/v2/api-docs - : : 172.17.0.10:8080 : /blade-system/v2/api-docs - : : 172.17.0.10:8080 : /blade-user/v2/api-docs
二、你期待的结果是什么?实际看到的又是什么?
希望的结果:能够正常展示服务的API
实际看到的:访问swagger的服务报错Knife4j文档请求异常
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
正在使用的产品:BladeX-Cloud 商业版
版本:2.8.0
操作系统: Ubuntu
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
首先你要说明的是除了swagger之外,其他的接口是否都正常,系统可以正常访问操作。如果只有swagger不行,则就单独从这方面排查。
如果部署的时候环境变量为prod,那么swagger为了安全是强制不让访问的。
如果你们环境不是设定的prod,访问 http://网关外网ip:网关外网端口/blade-auth/v2/api-docs 这个地址看看返回的是什么数据,如果访问不通,则进入某一个docker服务,然后访问 http://172.17.0.10:8080/blade-auth/v2/api-docs 看看是什么返回 ,如果还是访问不通,则进入auth服务的docker,在内部访问 auth服务的 http://127.0.0.1:8100/v2/api-docs 看看是否有正确返回。
一般情况就是内网服务相互调用的问题,需要从这方面去排查。
另外商业版答疑规则见:https://sns.bladex.cn/article-14990.html
请将账号邮箱修改为下单购买授权的qq邮箱便可咨询商业版疑问
扫一扫访问 Blade技术社区 移动端