一、正向代理与反向代理
-
正向代理
正向代理,意思是一个位于客户端和原始服务器 (origin server) 之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标 (原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。 --摘自百度百科 -
反向代理
反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。--摘自百度百科
两者的主要区别在于代理的对象不一样: 正向代理代理的对象是客户端,反向代理代理的对象是服务端。
我们这里说一下通过express实现反向代理。
二、实现
- 准备相关插件
npm install --save-dev express http-proxy-middleware connect-timeout
//or
cnpm install --save-dev express http-proxy-middleware connect-timeout
express是基于 Node.js 平台,快速、开放、极简的 web 开发框架。
http-proxy-middleware 是专门用于 http 代理的一个 node 中间件,适用于connect,express, browser-sync 等等,由热门的http-proxy 驱动。
- 开发
新建一个serve.js。
/*
* @Description: 建立服务文件