问题描述:
由于项目需要调用另外一个系统的数据 ,之前是通过java的抓取方式,不过这样子就需要 后端处理,甚至可能会因为阻塞造成宕机,不值得。
改用nginx来做一个正向代理解决问题:
数据调用接口:
http://abc/webservice/getdata/GetVisitCount?id=20021
nginx配置:
location ~ ^/webservice/{
proxy_pass http://abc;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
通过访问:
http://my.com/webservice/getdata/GetVisitCount?id=20021
代理到:
http://abc/webservice/getdata/GetVisitCount?id=20021
js代码:
function getChatRoomNum(){
jQuery.get("http://my.com/webservice/getdata/GetVisitCount?id=20021”,
function (data, textStatus){
this; // 在这里this指向的是Ajax请求的选项配置信息
if(textStatus=="success"){
jQuery("#chatCountNum").html(data);
}
});
}
这个已经在生产环境使用,可行的办法。
当然,或许还有其他更加好的办法,,欢迎提出。