引用:https://baijiahao.baidu.com/s?id=1600687025749463237&wfr=spider&for=pc
参考下图,正向代理用途:Client无法直接访问Server,比如谷歌FQ,于是请求发送给代理,代理可以访问Server并将其返回信息返回给Client。

反向代理用途:1.把Server的IP域名隐藏起来不直接暴露,Proxy充当跳板机/前置机的功能;2.对于大量的客户端并发请求,进行分发给各个服务器,实现负载均衡。
反向代理TCP/UDP负载均衡配置和选择:编辑nginx.conf文件
- #进程数,一般一个进程就够了
- worker_processes 1;
-
- events {
- #单个进程最大连接数(最大连接数=连接数*进程数)
- worker_connections 1024;
- }
- #TCP/UDP套接字固定字符串:stream
- stream {
- #反向代理URL管理
- upstream myproxy {
- #源地址哈希法,就是对访问客户端的IP进行hash后的结果进行分配,这样每一个客户端固定请求同一个后端服务器。
- #ip_hash;
-
- #按照服务器响应时间的长短来进行分发的,服务器响应时间越短的,优先分发。
- #fair
#正常分发 - server 192.168.3.22:13333;
- server 192.168.3.22:13334;
-
- #权重,权重越大,连接数量越多,压力越大。
- #server 11.22.333.44:5555 weight=2;
- #server 11.22.333.11:6666 weight=1;
-
- #表示当前的server临时不參与负载。
- #server 11.22.333.22:8888 down;
-
- #其他全部的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
- #server 11.22.333.33:8888 backup;
- }
- server {
-
- #region 统一监听端口
- listen 13335;
-
- #连接超时时间
- proxy_connect_timeout 3s;
-
- #N秒内服务器没有接收到数据自动断开与客户端的连接,如不想要此功能则注释该行
- #proxy_timeout 10s;
-
- #反向代理URL
- proxy_pass myproxy;
- }
- }
打开cmd,输入nginx -c nginx.conf,回车执行。
注意如果要关闭nginx,关了控制台是没用的,需要另外打开一个cmd窗口输入nginx -s quit,回车执行。
一般只修改配置文件,不需要重启或关闭nginx,执行 nginx -s reload 重新加载配置文件即可。