nginx 跨域实战
作者:智慧源点
- 2024-04-21 北京
本文字数:770 字
阅读完需:约 3 分钟
1、spring boot 配置
@Configuration
public class WebConfig extends WebMvcConfigurationSupport {
@Bean
public TokenInterceptor loginInterceptor() {
return new TokenInterceptor();
}
@Override
protected void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(loginInterceptor());
}
@Override
protected void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOriginPatterns("*").allowedMethods("*").allowCredentials(true)
// 预检时间
.maxAge(3600).allowedHeaders("*");
}
}
复制代码
2、nginx 配置
对预检请求 OPTIONS 进行跨域设置
location /third {
if ($request_method = 'OPTIONS'){
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'POST, GET, OPTIONS, DELETE';
add_header Access-Control-Max-Age "3600";
add_header Access-Control-Allow-Credentials true;
add_header Access-Control-Allow-Headers *;
add_header Content-Type 'application/json; charset=utf-8';
return 204;
}
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://thirdServer;
}
复制代码
现在有个问题是 OPTIONS 放在 server 节点全局设置不生效,哪位大佬知道,请留下评论!谢谢
划线
评论
复制
发布于: 刚刚阅读数: 2
智慧源点
关注
终身学习、研究java架构、ai大模型 2019-12-06 加入
商业合作: wytwhdwdd
评论