抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

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

反向代理介绍

反向代理在计算机网络中是代理服务器的一种。服务器根据客户端请求,从其关系的一组或多组后端服务器上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的地址,而不知道在代理服务器后面服务器集群的存在。通过反向代理服务器访问目标服务器时,客户端是不知道真正的目标服务器是谁的,甚至不知道自己访问的是一个代理服务器。

反向代理用途:

  1. 隐藏服务器真实 IP。使用反向代理,可以对客户端隐藏服务器的地址;
  2. 负载均衡。反向代理服务器可以做负载均衡,根据所有真实服务器的负载情况,将客户端请求分发到不同的真实服务器上;
  3. 提高访问速度。反向代理服务器可以对于静态内容及短时间内有大量访问请求的动态内容提供缓存服务,提高访问速度;
  4. 提供安全保障。反向代理服务器可作为应用层防火墙,为网站提供对基于 Web 的攻击行为例如 DDoS 的防护,更容易排查恶意软件等。还可为后端服务器统一提供加密和 SSL 加速,提供 HTTP 访问认证等。

引擎配置示例

Apache 的配置示例:

1
2
3
4
5
6
7
8
#PROXY-START/
<IfModule mod_proxy.c>
ProxyRequests Off
SSLProxyEngine on
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
</IfModule>
#PROXY-END/

Nginx 的配置示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#PROXY-START/
location /
{
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;

add_header X-Cache $upstream_cache_status;

#Set Nginx Cache

add_header Cache-Control no-cache;
expires 12h;
}

#PROXY-END/

OpenLiteSpeed 的配置示例:

1
2
3
4
5
6
7
8
9
extprocessor 反代示例 {
type proxy
address http://127.0.0.1:8080
maxConns 1000
pcKeepAliveTimeout 600
initTimeout 600
retryTimeout 0
respBuffer 0
}

评论