问题描述:

由于项目需要调用另外一个系统的数据 ,之前是通过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);
                        }
                }); 
       }

 

这个已经在生产环境使用,可行的办法。

当然,或许还有其他更加好的办法,,欢迎提出。