这篇文章转自自己的博客
通过服务器代理解决跨域问题是一种常见的解决js跨域的方法.
我这里以apache做例子,用apache http server(http://httpd.apache.org/docs/2.2/)当做代理服务器来实现跨域问题
相对于其他几种跨域方法的办法最大的好处是客户端代码不需要做大改动,甚至0改动,
其他大部分跨域解决方案cookie是无法带过去的,但通过这种方式可以做到cookie共享
例如我的网站http://onedear.cn,需要ajax访问http://www.163.com/getInfo这个接口
那只需要在apache的httpd.conf做如下url重写配置(相应的rewrite开关也要开)
RewriteEngine On
RewriteRule ^/163/(.*) http://www.163.com/$1[P,L]
然后将请求地址从http://www.163.com/getInfo –> http://onedear.cn/163/getInfo
这样即可,cookie共享,跨域解决
同时apache支持的tps上万,一般情况下不会有相应的性能问题,放心使用
继续,apache的另一个利器–Filter
这个filter可以做到很多很多功能,修改请求内容,修改请求类型等,在这里写下他最好玩的一个功能,修改相应内容
例如,我的需求,要将返回的内容的onedear字符串改成od字符串
那只需要
<Location />
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|onedear|od|i"
</Location>
如果发现无法过滤,很可能相应网站做了gzip压缩,
启动
LoadModule deflate_module modules/mod_deflate.so
在filter增加INFLATE
AddOutputFilterByType SUBSTITUTE;INFLATE text/html
filter会自动对相应内容解压
有了这个功能就可以做很多其他事情了,例如可以做到在163.com网站引用自己的一个js并自动执行他,好玩吧.
另外提供一篇很好的关于js跨域总结的文章
http://ntesmailfetc.blog.163.com/blog/static/206287061201241011546581/
分享到:
相关推荐
解决arcgis server跨域问题: 1、停掉ArcGIS Server的服务。 2、 打开<ArcGIS Server> \framework\runtime\tomcat\conf\web.xml,注册跨域bean 3、lib下拷贝 cors-filter-2.5.jar java-property-utils-1.9.1.jar包 4...
tomcat解决跨域访问问题,具体配置如下: 1、修改tomcat下的Conf/web.xml文件,在该文件内容中新增以下配置,注意,若该web.xml中存在其它filter,则需要将该filter放在所有filter前面; <filter-name>...
Delphi HttpServer跨域 CustomHeadersStringList.Add('Access-Control-Allow-Origin:*'); AResponseInfo.CustomHeaders := CustomHeadersStringList;
window.name解决跨域问题的文档,刚才网上发现的.也许有点作用
在本篇文章里小编给各位分享了关于nginx怎么解决跨域问题的方法和实例代码,需要的朋友们参考下。
使用docker部署nginx前后端解决跨域问题
主要介绍了python web.py开发httpserver解决跨域问题实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
ssm跨域问题解决方案
框架完美解决了iframe之间的跨域通讯。底层技术采用window.name转换代理实现
本资源时整合了spring boot来解决跨域问题:包括 1、设置响应参数解决跨域,2、httpClient解决跨域、3、jsonp解决跨域、4、zuul解决跨域 5、nginx解决跨域
Ajax解决跨域之设置CORS响应头实现跨域案例详解 1.设置CORS响应头实现跨域 跨源资源共享(CORS) CORS(Cross-Origin Resource Sharing),跨域资源共享。CORS 是官方的跨域解决方 案,它的特点是不需要在客户端...
1、地址...演示跨域问题以及跨子域名解决方法 2、地址http://a.test.com:8888/testAjaxCross/public/jsonp.do 演示jsonp解决跨域问题的三种方案jsonp、$getJSON、$ajax等
我使用的是httpClient 进行内部转发 我们在A的服务器上,将前台的文件流,通过httpClient传输到B的服务器上(B的服务器通过控制层接受A传输的文件流,让后保存在B的服务器上。返回一个json结果)
解决tomcat在IP 和端口不同时引起的跨域问题,解决方案,通过编写crossDomain.xml文件
通过这个插件,可以实现不同域名的双向通信问题,内含demo 配套文章:http://blog.csdn.net/mycwq/article/details/16344171
亲证可用,真实有效,压缩包里有使用的具体说明,按照要求,绝对可以解决Tomcat的跨域问题
使用nginx进行服务器管理,经常会遇到跨域问题,此文档就是解决此类问题; nginx跨域问题,解决多端口,多ip问题
js 调用 webservice服务,出现的跨域问题,可通过在服务端修改web.config来解决服务端的跨域问题
跨域jar包
前端跨域问题解决