解决swagger死循环的问题,/null/swagger-resources/configuration/ui

   日期:2020-07-02     浏览:1452    评论:0    
核心提示:swagger在很长一段时间不访问之后,再访问会出现下面这个(猜测是session过期),如果不做任何处理,这个页面会频繁访问:http://xxx.xxx.com/null/swagger-resources/configuration/ui,因为是死循环,访问量能把服务撑爆了。可以看到/null/swagger-resources/configuration/ui这个请求远远的高于其他请求,剩下/swagger-resources/**也是跟它相关的(我开始在代码中做了重定向,后面发现没用)。_swa

swagger在很长一段时间不访问之后,再访问会出现下面这个(猜测是session过期),如果不做任何处理,这个页面会频繁访问:http://xxx.xxx.com/null/swagger-resources/configuration/ui,因为是死循环,访问量能把服务撑爆了。特别是前端开发人员第二天来上班的时候,并没有打开swagger这页面,它仍然会不停的访问,一开始都很难定位到问题。

可以看到/null/swagger-resources/configuration/ui这个请求远远的高于其他请求,剩下/swagger-resources @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addRedirectViewController("/null/api-docs", "/api-docs").setKeepQueryParams(true); registry.addRedirectViewController("/null/swagger-resources/configuration/ui", "/swagger-resources/configuration/ui"); registry.addRedirectViewController("/null/swagger-resources/configuration/security", "/swagger-resources/configuration/security"); registry.addRedirectViewController("/null/swagger-resources", "/swagger-resources"); }

然而并没有什么用,仍然还是不断请求。网上还有说是swagger版本问题,需要spring-swagger和spring-swagger-ui版本一致,我检查了也是一致的。

最后想到一个简单粗暴的解决方案,因为/null/swagger-resources/configuration/ui明显不是一个正常的请求,我可以在请求经过nginx的时候就过滤掉。

解决方案:

        location ^~ /null/ {
           deny all;
        }

完整配置:

    server{
        listen       80;
        server_name  xxx.xxx.com;

        # 加上这句即可,把/null的请求全部拒绝掉
        location ^~ /null/ {
           deny all;
        }

        location / {
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass http://api-server/;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

不过还是希望swagger官方未来能解决这个问题,或者有人找到更好的解决方案的话,可以在下面评论。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服