Apache反向代理本地跨域调试Ajax网页
Ajax是一种普遍使用的技术,由于其限制,我们只能向同一主机,同一端口下发出数据请求,否则就会抛出异常,在调试的时候多有不便,因此在分享一种使用Apache反向代理的方法,方便诸位开发者。
跨域的方法有很多种,譬如这篇文章介绍的,http://www.cnblogs.com/think/archive/2010/06/23/1763616.html。
首先,打开Apache的配置文件,httpd.conf(该文件在Apache的安装路径下,conf子目录下)载入以下模块:
其次,配置我们的反向代理服务器,在httpd.conf文件中添加如下字段:
其中,realserver为我们的本地虚拟路径,后面为真正服务器的ip,如果你不明白这些指令的具体涵义,可查阅Apache的官方文档,http://httpd.apache.org/docs/2.0/mod/mod_proxy.html#proxypassreverse
,修改完毕后重启Apache使新配置生效。
最后,我们修改windows的hosts文件,按Windows+R打开运行窗口,执行
在hosts文件中输入,或添加一行
这样,我们在本地调试Ajax时,就可以访问到公网上服务器的资源,不会存在跨域的问题了,例如:
- 本机发出Ajax请求到,http://真正服务器的域名/realserver/真正服务器的CGI。
- 由于我们修改了hosts文件,实际访问的是http://127.0.0.1/realserver/真正服务器的CGI。
- Apache检测到realserver是个虚拟路径,并做了反向代理,会把http://真正服务器的ip/真正服务器的CGI返回值原封不动的传给我们。
这样,我们就可以在本地机器,对任何一个公网服务器发出Ajax请求了。如果你觉得还不够方便,可以使用js来管理。
没有评论:
发表评论