知乎用户阐明图

正向代理中,Proxy 和 Client 同属一个 LAN,对 Server 透明;反向代理中,Proxy 和 Server 同属一个 LAN,对 Client 透明。
实际上 Proxy 在两种代理中做的事都是代为收发要乞降相应,不过从构造上来看恰好旁边互换了下,以是把后涌现的那种代理办法叫成了反向代理。
形象图【ps : 来源 知乎】

形象图示

php反代Nginx 反向署理进修及实例笔记 NoSQL

总结

正向代理隐蔽真实客户端,反向代理隐蔽真实做事端 正向代理,代理的工具是客户端;反向代理,代理的工具是做事端

【二】反向代理的运用/好处反向代理的运用:

现在许多大型 web 网站都用到反向代理。
除了可以防止外网对内网做事器的恶性攻击、缓存以减少做事器的压力和访问安全掌握之外,还可以进行负载均衡,将用户要求分配给多个做事器

反向代理的好处:

(1). 办理了网站做事器对外可见的问题; (2). 节约了有限的 IP 地址资源,企业内所有的网站共享一个在 internet 中注册的 IP 地址,这些做事器分配私有地址,采取虚拟主机的办法对外供应做事; (3). 保护了真实的 web 做事器,web 做事器对外不可见,外网只能看到反向代理做事器,而反向代理做事器上并没有真实数据,因此,担保了 web 做事器的资源安全; (4). 加速了对网站访问速率,减轻 web 做事器的包袱,反向代理具有缓存网页的功能,如果用户须要的内容在缓存中,则可以直接从代理做事个中获取,减轻了 web 做事器的负荷,同时也加快了用户的访问速率。
(5).可以实现安全过滤,流控,防 DDOS 等一系列策略

【三】反向代理的实现1)须要有一个负载均衡设备来分发用户要求,将用户要求分发到空闲的做事器上2)做事器返回自己的做事到负载均衡设备3)负载均衡将做事器的做事返回用户

以上的潜台词是:用户和负载均衡设备直接通信,也意味着用户做做事器域名解析时,解析得到的 IP 实在是负载均衡的 IP,而不是做事器的 IP,这样有一个好处是,当新加入/移走做事器时,仅仅须要修正负载均衡的做事器列表,而不会影响现有的做事。
(来自:知乎)

【四】Nginx 反向代理 操作1). nginx 反向代理 参考配置代码

#设定负载均衡的做事器列表 #weigth参数表示权值,权值越高被分配到的几率越大 upstream Mos{ server 192.168.1.106:80 weight=3; server 192.168.1.143:80 weight=1; #server localhost:80 weight=1; #本机 } server { listen 80; server_name localhost; index index.html index.htm index.php; root /mnt/web/hyicnoa; location / { if (!-e $request_filename){ rewrite ^/(.)$ /index.php?s=/$1 last; } proxy_pass http://Mos ; #在这里设置一个代理,和upstream的名字一样 } location ~ .\.(php|php5)?$ { #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; } location ~ \.php$ { proxy_pass http://192.168.1.106; #此处限定访问 php 文件时,跳转到192.168.1.106 做事器解析 } location ~ .\.(js|css)?$ { expires 1h; } }2).提示

上述配置文件内容仅供参考,信息并未显示完备 强烈建议不要直接修正 nginx.conf 文件,一样平常是根据类似如下的代码 include /etc/nginx/conf.d/.conf;进行对应目录下新建文件的配置,以避免较大的配置影响. "proxy_pass http://xxxxxx" 作为代理的位置,须要明确自己在哪种条件下进行代理的利用,详细实践须要参考 nginx 配置语法,着重在于正则表达的限定条件

3). 把稳信息(1). 做事器列表仅做参考,以本次操作为例,代理机为 192.168.1.87:80,则访问静态文件时会按 weight 比重分配到 192.168.1.106:80和 192.168.1.143:80做事器器,进行负载分配(2).根据配置信息

location ~ \.php$ { proxy_pass http://192.168.1.106; #此处限定访问php文件时,跳转到192.168.1.106做事器解析 }

当访问 php 文件时,会由 192.168.1.106 做事器解析内容,完成后再交由192.168.1.87:80显示给用户.

(3).针对不同的目录进行代理把下面的配置放到根目录代理的上面

location /zmPro/ { proxy_pass http://192.168.1.143; #当访问zmPro目录时,由该IP做事器进行解析 }(4). 反向代理进行的负载均衡须要把稳 session 的利用限定, 参考文章先容(5). 个人理解,负载均衡的配置只需变动一处 nginx 配置文件即可,哀求做事器列表中的相应目录是只管即便可以成功访问的。
(6).开启做事,许可访问,本人测试时只是关闭了防火墙,根据定义的均衡做事器,避免访问文件的存在性.4). 截图default.conf 配置截图,仅供参考

条记截图

5).结果描述访问 html 文件时,会根据权重由 192.168.1.106 和 192.168.1.143 进行解析访问 php 文件时,只会由 192.168.1.106 解析访问 zmPro 目录下的文件时,会由 192.168.1.143 解析,此时如果是 html 文件,如果 192.168.1.106 对应位置没有干系文件,会根据前面的权重涌现不同的访问状况,一种情形是由 192.168.1.143 正常解析,另一种情形是 192.168.1.106 无对应文件而 404 解析失落败,如图:

以是,强烈建议匹配不同内容时,把稳访问的可行性,以及文件的同步性,建议可参考文章 nginx 反向代理配置及优化其余还有一些关于c++ Linux后台做事器开拓的一些知识点分享:Linux,Nginx,MySQL,Redis,P2P,K8S,Docker,TCP/IP,协程,DPDK,webrtc,音视频等等视频。

须要的朋友可往后台私信【1】获取学习视频