nginx反向代理

窃取环境‘——借助nginx反向代理

  反向代理说明:

    反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器

    反向代理的作用:

      1.保护网站安全,所有来自Internet的访问都必须经过代理服务器;

      2.通过配置缓存功能加速web请求,可以缓存真实web服务器的某些静态资源,缓解真实web服务器的负载压力;

      3.实现负载均衡,充当负载均衡服务器均衡地分发请求,平衡集群中各个服务器的负载压力;

  针对对象:通过ajax请求实现的页面;

  实现原理:?

  准备工作:1.一个本地服务器;

       2.一个代理服务器(可以起两个本地服务器,例如:800端口作为本地服务器,8080作为代理服务器);

       3.一个远程服务器(互联网上用ajax获取服务端数据的网页的后台服务器,例如饿了么、携程等);

       4.自定义域名

  这里关于nginx操作至关重要的一步是配置nginx的配置文件:

    找到nginx.conf

    在server内location配置如下:

    location /{

      proxy_pass http://127.0.0.1:8080;
      #实现前端分离开发的目的
    }
    location /restapi {
      proxy_pass https://m.ele.me;
    }

  启动了服务器以及锁定远程服务器的api后,我们需要向本地800端口发送远程服务器前端网页同样的后台请求;

  1)找到原网页的请求地址和请求信息,这里以elm为例:(搜索地名时发送的请求)

  

  解析:“https://”为通信协议,m.ele.me为域名,/restapi/v1/pois为请求地址,“city_id=1&keyword=......&type=search”为发送到后端的数据;请求方式:GET;状态:请求成功!

   对于其他网页,我们只需修改"/restapi/v1/pois"即请求地址(后端给出的api)与转向的域名,然后按照该api的数据结构向后端发送请求;

  前后端分离开发示意图:

  这种代理请求需要后端对指定对象开放接口,否则后端可以拒绝返回请求的字段。——2016/07/23

 

 
posted @ 2016-07-22 15:58  君寻不惑  阅读(262)  评论(0编辑  收藏  举报