问题描述:

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

 

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

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