加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

CORS(跨域资源共享) 的配置

发布时间:2020-12-16 01:41:42 所属栏目:百科 来源:网络整理
导读:兼容情况: 各种新版本的ie10,firefox,opera,safari,chrome以及移动版safari和android浏览器 ie9及一下版本请使用flash方式来兼容 通过OPTIONS请求握手一次的方式实现跨根域发送请求,需要服务端配置 nginx增加类似如下配置: [html] view plain copy server

兼容情况:


各种新版本的ie10,firefox,opera,safari,chrome以及移动版safari和android浏览器
ie9及一下版本请使用flash方式来兼容

通过OPTIONS请求握手一次的方式实现跨根域发送请求,需要服务端配置


nginx增加类似如下配置:

[html] view plain copy
  1. server{
  2. location/{
  3. if($request_method='OPTIONS'){
  4. add_header'Access-Control-Allow-Origin''*';
  5. add_header'Access-Control-Allow-Credentials''true';
  6. add_header'Access-Control-Allow-Methods''GET,POST,OPTIONS';
  7. add_header'Access-Control-Allow-Headers''DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
  8. #add_header'Access-Control-Max-Age'1728000;
  9. add_header'Content-Type''text/plaincharset=UTF-8';
  10. add_header'Content-Length'0;
  11. return200;
  12. }
  13. }

如果没有nginx转发,java需要如下代码:

copy
rundata.getResponse().addHeader("Access-Control-Allow-Origin","*");
  • rundata.getResponse().addHeader("Access-Control-Allow-Methods","GET,OPTIONS");
  • rundata.getResponse().addHeader("Access-Control-Allow-Headers","Origin,No-Cache,Pragma,Last-Modified,Expires,Content-Type,X-E4M-With");

  • tomcat下CORS(跨域资源共享) 的配置
    CORS介绍
    它在维基百科上的定义是:跨域资源共享(CORS )是一种网络浏览器的技术规范,它为Web服务器定义了一种方式,允许网页从不同的域访问其资源。而这种访问是被同源策略所禁止的。CORS系统定义了一种浏览器和服务器交互的方式来确定是否允许跨域请求。 它是一个妥协,有更大的灵活性,但比起简单地允许所有这些的要求来说更加安全。
    而W3C的官方文档目前还是工作草案,但是正在朝着W3C推荐的方向前进。
    简言之,CORS就是为了让AJAX可以实现可控的跨域访问而生的。

    Tomcat下的配置
    下载cors-filter-1.7.jar,java-property-utils-1.9.jar这两个库文件,放到lib目录下。(可在
    http://search.maven.org上查询并下载。)工程项目中web.xml中的配置如下:

    copy

    <filter>
  • filter-name>CORS</>
  • filter-class>com.thetransactioncompany.cors.CORSFilterinit-paramparam-name>cors.allowOriginparam-value>*>cors.supportedMethods>GET,HEAD,PUT,DELETE>cors.supportedHeaders>Accept,Origin,Last-Modified>cors.exposedHeaders>Set-Cookie>cors.supportsCredentials>truefilter-mappingurl-pattern>/*>

  • http://software.dzhuvinov.com/cors-filter-installation.html

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读