跨域问题的存在:
如果用ajax请求的资源域名和原网页的域名不一致就会产生跨域请求问题,为了解决这一问题,可以在http响应里面设置响应头为允许跨域,但一般不会这么做。
使用nginx来解决跨域问题的手段是:
因为nginx可以进行反向代理,因此可以进行域名映射,让不同服务的域名映射为有相同的域名,然后通过后面的路径进行匹配。
server {
listen 80;
server_name www.anlysqx.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location /A {
proxy_pass http://one.com:8763/A;
index index.html index.htm;
}
location /B {
proxy_pass http://two.com:8765/A;
index index.html index.htm;
}
}
这样当浏览器访问www.anlysqx.com/A 时其实是在访问 http://one.com:8763对应的应用
访问www.anlysqx.com/B 是在访问 http://two.com:8765对应的应用。
这样一来在ajax里面的访问就是相同域名www.anlysqx.com了,于是也就不存在跨域问题。