美文网首页
springboot跨域,nginx跨域问题解决

springboot跨域,nginx跨域问题解决

作者: 清泉_QingQuan | 来源:发表于2018-12-29 14:37 被阅读0次

    跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,违反了同源策略的约定,这样就产生了跨域问题。

    1.如果我们的项目经过nginx路由的话,直接在项目里面这样配置就可以了。

    @Configuration
    public class WebMvcConfig extends WebMvcConfigurationSupport {
    
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**")
                    .allowedMethods("*")
                    .allowedOrigins("*")
                    .allowedHeaders("*");
            super.addCorsMappings(registry);
        }
    }
    

    2.如果我们的项目经过了nginx路由,那么在location里添加如下元素。

    location ^~/sxg_city_manager_app/ {
                    #add_header Access-Control-Allow-Origin *;
                    add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";
                    add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
                    proxy_pass  http://127.0.0.1:8802;
            }
    

    add_header Access-Control-Allow-Origin * 这个被注释的原因是我们在springboot里面已经添加了 ,这里再添加就会报以下错误:
    The 'Access-Control-Allow-Origin' header contains multiple values '
    ,*', but only one is allowed.

    3.总之,在测试跨域问题的时候,我们可以根据报的具体错误在location里添加相应的add_header元素。

    相关文章

      网友评论

          本文标题:springboot跨域,nginx跨域问题解决

          本文链接:https://www.haomeiwen.com/subject/uuoulqtx.html