解决apache下的ajax跨域问题
假设如下情景:html部署在apache上,jsp(后台处理)部署在jboss上。就有可能存在ajax的跨域问题。
:表示jboss上jsp实际目录名
:表示apache上html实际目录名
:你的实际ip地址
第一种情况:apache jboss 在同一台机器上。
即html url :http://:80/
jboss url : http://:8080/
这种情况ip相同,只是端口不同。此时的应用程序在IE下没有跨域问题。但是在Firefox、Chrome。。。下就会存在。
原因是端口不一,则会被视为不同域
解决方法:
修改uriworkermap.properties文件,增加一行/|/*=loadbalancer
第二种情况: apache jboss 在不同的机器上。
即html url :http://:80/
jboss url : http://:8080/
这种情况下的解决方法是:
修改httpd.conf文件
1. 开启proxy mod
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
2. 在httpd.conf文件末尾增加如下:
ProxyRequests on
ProxyPass / http://:8080/
#ProxyPassReverse / http://:8080/
3.如果有问题,把最后一行ProxyPassReverse 开启
==================
重启apache
可用httpd -t 命令查看语法是否争取
页:
[1]