`

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

 
阅读更多

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

 

nginx兼容跨域上传

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

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

 

nginx增加类似如下配置:

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  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/plain charset=UTF-8';  
  10.           add_header 'Content-Length' 0;  
  11.           return 200;  
  12.         }  
  13. }  


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

 

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. rundata.getResponse().addHeader("Access-Control-Allow-Origin", "*");  
  2. rundata.getResponse().addHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS");  
  3. rundata.getResponse().addHeader("Access-Control-Allow-Headers", "Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, 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中的配置如下: 

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. <filter>  
  2.     <filter-name>CORS</filter-name>  
  3.     <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>  
  4.     <init-param>  
  5.      <param-name>cors.allowOrigin</param-name>  
  6.         <param-value>*</param-value>  
  7.     </init-param>  
  8.     <init-param>  
  9.      <param-name>cors.supportedMethods</param-name>  
  10.         <param-value>GET, POST, HEAD, PUT, DELETE</param-value>  
  11.     </init-param>  
  12.     <init-param>  
  13.      <param-name>cors.supportedHeaders</param-name>  
  14.         <param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value>  
  15.     </init-param>  
  16.     <init-param>  
  17.         <param-name>cors.exposedHeaders</param-name>  
  18.         <param-value>Set-Cookie</param-value>  
  19.     </init-param>  
  20.     <init-param>  
  21.         <param-name>cors.supportsCredentials</param-name>  
  22.         <param-value>true</param-value>  
  23.     </init-param>  
  24. </filter>  
  25. <filter-mapping>  
  26.     <filter-name>CORS</filter-name>  
  27.     <url-pattern>/*</url-pattern>  
  28. </filter-mapping>  


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

分享到:
评论

相关推荐

    你可能不知道的CORS跨域资源共享

    CORS(跨域资源共享)是Web开发中解决跨域访问问题的一种机制,它允许浏览器在遵循同源策略的前提下,通过特定的HTTP头部与服务器通信,从而实现不同源之间的资源访问。这种机制是为了解决现代Web应用中由于同源策略...

    Spring boot 和Vue开发中CORS跨域问题解决

    然而,在进行前后端分离开发时,跨域资源共享(CORS)的问题是无法避免的一个挑战。本文旨在详细阐述CORS跨域问题的背景、解决方法以及如何在Spring Boot和Vue.js的结合使用场景下处理跨域问题。 ### CORS跨域问题...

    CORS跨域访问框架jra包

    CORS(Cross-Origin Resource Sharing,跨源资源共享)是一种机制,允许Web应用从不同的源获取资源,比如JavaScript通过Ajax请求从另一个域名下获取数据。在Web开发中,由于浏览器的同源策略限制,不同源的HTTP请求...

    在各种服务器(nginx,apache,tomcat)上设置CORS跨域设置.zip

    跨域资源共享(CORS,Cross-Origin Resource Sharing)是一种机制,允许Web应用从不同的源(比如不同的域名、协议或端口)获取资源。由于浏览器的安全策略,通常不允许这种跨域请求,但CORS通过添加特定的HTTP头部...

    跨域资源共享CORS协议介绍

    跨域资源共享(CORS)是一种安全机制,允许一个域(网站)上的Web应用访问另一个域上的资源。随着Web应用变得越来越复杂,为了增强用户体验,经常需要在一个域名下发起对另一个域名的HTTP请求。CORS的出现解决了...

    【ASP.NET编程知识】谈谈如何在ASP.NET Core中实现CORS跨域.docx

    CORS(Cross-origin resource sharing)是一种 W3C 标准,翻译过来就是「跨域资源共享」,它主要是解决 Ajax 跨域限制的问题。在 ASP.NET Core 中实现 CORS 跨域可以解决浏览器和服务器之间的跨域限制问题。 在 ASP...

    跨域资源共享 CORS 详解

    跨域资源共享(CORS,Cross-Origin Resource Sharing)是一种机制,旨在允许Web应用程序向不同源的服务器请求数据,而不会受到浏览器的同源策略限制。这一功能对于现代Web应用的开发至关重要,因为它允许开发者构建...

    跨域cors扩展插件chrome

    CORS(Cross-Origin Resource Sharing,跨源资源共享)是一种机制,它允许浏览器在请求跨域资源时与服务器协商,通过特定的HTTP头部实现跨域访问。 描述中提到的“备用下”,意味着这个插件可能是开发者在主用工具...

    SpringMVC CORS跨域测试包

    SpringMVC CORS(Cross-Origin Resource Sharing,跨源资源共享)是一个重要的Web开发概念,它允许浏览器在执行AJAX请求时跨越不同的源(域名、协议或端口)。在现代Web应用程序中,由于前后端分离的设计,跨域问题...

    CORS 跨域配置和jar文件

    此时,CORS(Cross-Origin Resource Sharing,跨域资源共享)机制应运而生,它允许服务器放宽同源策略,使得来自不同源的请求能够访问资源。 **一、CORS的基本概念** CORS是通过在HTTP头信息中添加特定字段来实现...

    Apache中配置支持CORS(跨域资源共享)实例

    跨域资源共享(CORS,Cross-Origin Resource Sharing)是一种机制,允许Web应用从不同的源(比如不同的域名、协议或端口)获取资源。在传统的同源策略限制下,浏览器禁止了不同源之间的AJAX请求,以保护用户数据的...

    cors实现的跨域

    跨域资源共享(CORS,Cross-Origin Resource Sharing)是一种机制,允许浏览器在执行JavaScript时,通过HTTP请求访问不同源的资源。这种机制是为了安全考虑,防止恶意脚本从一个站点窃取另一个站点的数据。在传统的...

    tomcat下cors跨域解决架包

    CORS(Cross-Origin Resource Sharing,跨源资源共享)是一种允许浏览器向不同源的服务器发送请求的机制。在Java Web应用中,我们常常使用Tomcat作为应用服务器,而CORS Filter则可以用来处理Tomcat中的CORS跨域问题...

    cors跨域包

    标题中的"CORS跨域包"指的是在Web开发中用于处理跨域资源共享(CORS)问题的一个工具或库。跨域是浏览器的一种安全策略,限制了JavaScript只能与同一源(协议+域名+端口)的服务器进行通信。然而,有时我们需要在...

    详解Spring MVC CORS 跨域

    在 Web 开发中,跨域资源共享(Cross-origin resource sharing,CORS)是一个非常重要的概念。它允许 Web 应用程序可以访问不同域名下的资源,而不受同源策略的限制。今天,我们主要介绍了 Spring MVC 中的 CORS ...

    provider-coustomer-CORS跨域.zip

    标题 "provider-coustomer-CORS跨域.zip" 暗示了这个压缩包包含的项目是关于在Java环境中,特别是SpringBoot框架下处理CORS(Cross-Origin Resource Sharing,跨源资源共享)的问题。CORS是一种机制,它允许Web应用...

    geoserver cors跨域

    在开发Web应用程序并与GeoServer交互时,可能会遇到CORS(跨源资源共享)的问题。CORS是一种安全机制,用于规范浏览器如何处理来自不同源的请求,特别是JavaScript发起的Ajax请求。 标题“geoserver cors跨域”指的...

    [SpringBoot+Ajax]跨域资源共享CORS前后端分离简单演示样例.rar

    **SpringBoot + Ajax + CORS 前后端分离:跨域资源共享详解** 在现代Web开发中,前后端分离已经成为一种常见的架构模式。SpringBoot作为Java领域的一个轻量级框架,常用于构建后端服务,而Ajax则在前端用于实现异步...

    最全面关于J2EE跨域资源共享的解决方案以及所需要依赖的Jar包,cors-filter-1.7.jar,java-property-utils-1.9.jar

    最全面关于J2EE跨域资源共享的解决方案以及所需要依赖的Jar包,cors-filter-1.7.jar,java-property-utils-1.9.jar, tomcat配置方法连接 http://bsxsb.com/index.php/2015/08/07/tomcat下通过cors实现跨域配置/

Global site tag (gtag.js) - Google Analytics