Nginx——代理

举报
小白弟弟 发表于 2022/01/17 14:04:04 2022/01/17
【摘要】 1、反向代理代理服务器根据其代理对象的不同,可以分为正向代理服务器与反向代理服务器。这里 的“正”与“反”均是站在客户端角度来说的。 1.1、 正向代理服务器正向代理是对客户端的代理。客户端 C 想要从服务端 S 获取资源,但由于某些原因 不能,直接访问服务端,而是通过另外一台主机 P 向服务端发送请求。当服务端处理完毕 请求后,将响应发送给主机 P,主机 P 在接收到来自服务端的响应后,...

1、反向代理

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

1.1、 正向代理服务器

正向代理是对客户端的代理。客户端 C 想要从服务端 S 获取资源,但由于某些原因 不能,直接访问服务端,而是通过另外一台主机 P 向服务端发送请求。当服务端处理完毕 请求后,将响应发送给主机 P,主机 P 在接收到来自服务端的响应后,将响应又转给了客 户端 C。此时的主机 P,就称为客户端 C 的正向代理服务器。
客户端在使用正向代理服务器时是知道其要访问的目标服务器的地址等信息的。正向代 理服务器是为服务用户(客户端)而架设的主机,与服务端无关,对服务器端透明。
在这里插入图片描述
在这里插入图片描述

1.2、反向代理服务器

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

1.3、 反向代理之负载均衡

在这里插入图片描述

**负载均衡(Load Balancing):**就是将对请求的处理分摊到多个操作单元上进行。这 个均衡是指在大批量访问前提下的一种基本均衡,并非是绝对的平均。对于 Web 工程中的 负载均衡,就是将相同的 Web 应用部署到多个不同的 Web 服务器上,形成多个 Web 应用服务器。当请求到来时,由负载均衡服务器负责将请求按照事先设定好的比例向 Web 应 用服务器进行分发,从而增加系统的整体吞吐量。
负载均衡可以通过负载均衡软件实现,也可通过硬件负载均衡器实现。
(1 ) 硬件负载均衡
硬件负载均衡器的性能稳定,且有生产厂商作为专业的服务团队。但其成本很高,一台硬件 负载均衡器的价格一般都在十几万到几十万,甚至上百万。知名的负载均衡器有 F5、Array、 深信服、梭子鱼等。
(2 ) 软件负载均衡
软件负载均衡成本几乎为零,基本都是开源软件。例如:LVS、HAProxy、Nginx 等。
该机群包含一台 Nginx 服务器,两台 Web 服务器(node2 和 node3)。
修改 nginx.conf 文件

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

重启 nginx,请求测试:http://www.sxthenhao.com/toms,发现已经实现了负载均 衡。(中小企业一般使用该方式)
也可以通过在 Nginx 服务器上配置 hosts 本地域名解析:

 [root@nginx1 conf]# vim /etc/hosts 192.168.20.101 node1 
 192.168.20.102 node2 xxx 
 192.168.20.103 node3 xxx 
 192.168.20.104 node4

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

  location /cats { 
  		proxy_pass http://xxx/; 
  } 

重启 nginx,测试:http://www.sxthenhao.com/cats 一样能够实现负载均衡的目的(大型企业使用该方式,一般还会搭建一个 DNS 域名解析服务器,只需要修改 DNS 域名解析服务器就 ok 了)。
Nginx 会用到域名解析,如果一个域名解析出多个 ip 地址,会在这些 ip 地址之间做负载均衡

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。