swagger部署到生产环境后,访问swagger报错:You do not have permission to access this page

Blade 未结 1 2611
chinjo
chinjo 剑童 2021-04-20 21:46

一、该问题的重现步骤是什么?

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


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  • 2021-04-21 09:47

    首先你要说明的是除了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邮箱便可咨询商业版疑问

    0 讨论(0)
提交回复