记一次swagger域名无法访问报错解决
今天下午项目快要外部测试的时候突然前端小姐姐说测试服务器swagger无法访问了,我心里一惊还有这事,马上排查,毕竟谁不想给小姐姐留个好印象了。
- 因为在此之前有人发版所以我首先想到的是他把配置文件改了,一番排查之后发现配置文件没有任何改动,所以放弃这个思路。
- 其次想到的是静态文件匹配不对,因为以前也出过这种问题于是我添加了如下代码:
// An highlighted block
@Configuration
class WebConfigurer: WebMvcConfigurer {
@Autowired
lateinit var logInterceptor: LogInterceptor
override fun addInterceptors(registry: InterceptorRegistry) {
// 注册一个日志拦截器,可以在日志中打上 requestID
registry.addInterceptor(logInterceptor)
super.addInterceptors(registry)
}
override fun addResourceHandlers(registry: ResourceHandlerRegistry) {
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/")
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/")
super.addResourceHandlers(registry)
}
}
发现并没有任何作用,于是放弃。
- 又仔细想了一下觉得是Nginx的问的,毕竟本地跑swagger是没有任何问题的,于是重启测试服务器的Nginx,重新访问swagger发现也没有用,这下我自闭了,不知道怎么办了,查了网上的办法,什么main方法加**@EnableSwagger2**,什么Nginx加777权限都没用,心想完了小姐姐这下要离我而去了。
- 就在我无助迷茫之际我忽然想到Nginx是要代理文件夹的,有的时候文件太多和太大都会导致代理失败,于是我马上就去看了测试服务器的磁盘使用情况,一看吓一跳如下画面:好家伙这么多的内存都占满了,于是删除无用内存用了如下命令:docker system prune这个命令可以清除无用的容器和镜像,但是要慎用可能会停止当前运行的容器,好了事情到这里就解决了,心想哈哈哈不愧是我,这个前端小姐姐该眼冒小星星,以身相许了把,正在得意之际听到小姐姐和她那个满头秀发的男朋友吃饭去了,我照了照镜子看了眼为数不多的头发,暗自神伤。