先后端分离开发中一个小问题(集成403后跨域问题)

解决跨域的三种方式nginx

 

- Jsonp:基于script中的src属性实现ajax

- nginx:反向代理(部署):利用nginx反向代理把跨域为不跨域,支持各类请求方式spring

- CORS:浏览器会将ajax请求分为两类,其处理方案略有差别:简单请求、特殊请求。(相似于中间商,将请求处理过了,再分配)跨域

这里我是用的CORS,由于springmvc中已经集成了:浏览器

@Configuration
public class GlobalCorsConfig {
    @Bean
    public CorsFilter corsFilter() {
        //1.添加CORS配置信息
        CorsConfiguration config = new CorsConfiguration();
        //1) 容许的域,不要写*,不然cookie就没法使用了
        config.addAllowedOrigin("http://127.0.0.1:8080");
        //2) 是否发送Cookie信息
        config.setAllowCredentials(true);
        //3) 容许的请求方式
        config.addAllowedMethod("OPTIONS");
        config.addAllowedMethod("HEAD");
        config.addAllowedMethod("GET");
        config.addAllowedMethod("PUT");
        config.addAllowedMethod("POST");
        config.addAllowedMethod("DELETE");
        config.addAllowedMethod("PATCH");
        // 4)容许的头信息
        config.addAllowedHeader("*");
        //2.添加映射路径,咱们拦截一切请求
        UrlBasedCorsConfigurationSource configSource = new
                UrlBasedCorsConfigurationSource();
        configSource.registerCorsConfiguration("/**", config);
        //3.返回新的CorsFilter.
        return new CorsFilter(configSource);
    }
}

但即便都准备好了,测试的时候仍是403cookie

缘由是请求路径不能再是localhost了,要修改成127.0.0.1mvc

相关文章
相关标签/搜索