Nginx-day05-反向代理

Posted 乐善心语

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx-day05-反向代理相关的知识,希望对你有一定的参考价值。

1 nginx反向代理

代理服务器根据其代理对象的不同,可以分为正向代理服务器与反向代理服务器。这里的“正”与“反”均是站在客户端角度来说的。

1.1 正向代理服务器

正向代理是对客户端的代理。客户端 C 想要从服务端 S 获取资源,但由于某些原因不能,直接访问服务端,而是通过另外一台主机 P 向服务端发送请求。当服务端处理完毕请求后,将响应发送给主机 P,主机 P 在接收到来自服务端的响应后,将响应又转给了客户端 C。此时的主机 P,就称为客户端 C 的正向代理服务器。


Nginx-day05-反向代理

Nginx-day05-反向代理

1.2 反向代理服务器

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

1.3 反向代理之负载均衡

负载均衡(LoadBalancing):就是将对请求的处理分摊到多个操作单元上进行。这个均衡是指在大批量访问前提下的一种基本均衡,并非是绝对的平均。对于 Web 工程中的负载均衡,就是将相同的 Web 应用部署到多个不同的 Web 服务器上,形成多个 Web 应用服务器。当请求到来时,由负载均衡服务器负责将请求按照事先设定好的比例向 Web 应用服务器进行分发,从而增加系统的整体吞吐量。

负载均衡可以通过负载均衡软件实现,也可通过硬件负载均衡器实现。

主要探讨的是软件复杂均衡

upstream rss{        server 192.168.253.211;        server 192.168.253.212; } server { listen 80;       server_name www.leshan.com; access_log logs/leshan.log myfmt; location / { root /mnt; autoindex on; } location /toms { proxy_pass http://rss/;       }


重启nginx,请求测试:http://www.leshan.com/toms,发现已经实现了负载均衡。(中小企业一般使用该方式)

Node2node3上:

安装httpd应用:

yum install httpd -y

进入/var/www/html,创建一个index.html

加入:from 192.168.20.92 node2 

   或:from 192.168.20.93 node3 

启动httpd服务:service httpd start


也可以通过在Nginx服务器上配置hosts本地域名解析:

[root@nginx1 conf]# vim /etc/hosts

 

192.168.20.91 node1

192.168.20.92 node2  xxx

192.168.20.93 node3  xxx

192.168.20.94 node4

修改nginx.conf配置文件,添加如下配置

      location /cats {

          proxy_pass http://xxx/;

      }

重启nginx,测试:http://www.sxthenhao.com/cats

一样能够实现负载均衡的目的(大型企业使用该方式,一般还会搭建一个DNS域名解析服务器,只需要修改DNS域名解析服务器就ok了)。



以上是关于Nginx-day05-反向代理的主要内容,如果未能解决你的问题,请参考以下文章

http反向代理及haproxy

由于 CORS,Nginx 反向代理后面的 Golang 应用程序不会接受 ajax 请求

如何通过反向代理启用 Windows 身份验证?

apache websockets反向代理

nginx 反向代理支持域名吗

应提供反向代理标头