springboot跨域,nginx跨域问题解决

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

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元素。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1问题背景 公司项目调试期间,浏览网页的时候可能会浏览失败,调出F12查看报错,会看到以下报错信息No 'Acce...
    weidro阅读 9,893评论 0 7
  • 大多数 Nginx 新手都会频繁遇到这样一个困惑,那就是当同一个location配置块使用了多个 Nginx 模块...
    SkTj阅读 12,456评论 0 12
  • 什么是跨域 跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实...
    HeroXin阅读 4,322评论 0 4
  • XMLHttpRequest的跨域请求 动态添加一个标签,而script标签的src属性是没有跨域的限制的。这样说...
    葛高召阅读 22,699评论 0 0
  • 当下,区块链被人们越来越重视,各行各业都开始在该领域进行抢滩布局,争先抢下区块链技术这块肥肉,于是不少房地产及周边...
    256财经阅读 2,224评论 0 0

友情链接更多精彩内容