vue做前端,springboot作为后端,nginx里做了代理,但是代理访问一直出错,我想查询前端的url被nginx代理改成了什么,最后访问到springboot的url到底是什么,问下,可以在springboot的什么位置,用什么语句可以查到
nginx 的日志里面有被访问的地址,可以再经过 nginx 另一服务代理一次,就可以看到前一代理改成了什么。
HttpServletRequest 的 getRequestURI() 可以获取到被访问的地址,你得放在拦截器或者过滤器里面获取,因为没到你的 Controller 中。
两种方法相比 ,前者修改配置就行,后者需要改代码再部署,稍麻烦一点。
public class TestApplication implements WebMvcConfigurer {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
@Override
protected void addCorsMappings(CorsRegistry registry) {
// 解决跨域问题
registry.addMapping("/**")
.allowCredentials(true)
.allowedHeaders("*")
.allowedOrigins("*")
.allowedMethods("*")
.maxAge(3600);
super.addCorsMappings(registry);
}
}
但是在复杂请求时(带自定义的请求头参数),由于浏览器的自检机制,会先发送一次options请求,这无疑会增加服务器的负担,这就很烦,那么怎么解决这个问题呢?马上揭晓答案