Nginx反向代理的使用及原理

Nginx反向代理的使用及原理,第1张

正向代理,用通俗的方式来说,就是代理服务器只起到转发的作用,例如,在顾客进商店购买东西,商店就是一个正向代理,起到的作用就是把商品从厂家代理售卖到顾客手中。
反向代理,就是顾客的请求是确定的,但将商品的需求信息发送给代理商之后,代理商通过各种方式寻找不同的供货商,再把供货商提供的商品转交给顾客。顾客是不知道代理商背后的供货商是谁的。这种方式有点类似于目前的“三只松鼠”等网络直销平台的逻辑,顾客发送芒果干的请求给三只松鼠,三只松鼠从全国进行供货商的选择,拿到货品后再打上三只松鼠的logo转交给顾客,实现反向的代理,代理的是供货商,顾客不知道具体的供应商是谁(所以才会要求包装上需要印上供应商的名称和地址,要不然出问题都不知道找谁。)
Nginx的安装网络有很多资源,包括Linux和Windows的,在此不表。主要关注一下如何进行配置,来看看 nginxconfdefault 中的配置信息:

可以看到,主要的几个配置模块:

下面主要讲讲经常使用的server以及location的配置。

gzip压缩中

对于阿里云上的配置,我们直接使用一级域名 abccom 解析阿里云服务器的IP地址:

但是,如果想让互联网上的主机访问内部网的主机资源(例如:Web站点),又想使内部网主机免受外部网主机攻击,一般的代理服务是不能实现的,需要使用反向代理来实现。
一.反向代理的概念
Web服务器加速(反向代理)是针对Web服务器提供加速功能的。它作为代理Cache,但并不针对浏览器用户,而针对一台或多台特定Web服务器(这也是反向代理名称的由来)。实施反向代理(如上图所示),只要将Reverse Proxy Cache设备放置在一台或多台Web服务器前端即可。当互联网用户访问某个WEB服务器时,通过DNS服务器解析后的IP地址是Reverse Proxy Server的IP地址,而非原始Web服务器的IP地址,这时Reverse Proxy Server设备充当Web服务器,浏览器可以与它连接,无需再直接与Web服务器相连。因此,大量Web服务工作量被卸载到反向代理服务上。不但能够防止外部网主机直接和web服务器直接通信带来的安全隐患,而且能够很大程度上减轻web服务器的负担,提高访问速度。
二.反向代理和其它代理的比较
下面将对几种典型的代理服务作一个简单的比较。在网络上常见的代理服务器有三种:
1. 标准的代理缓冲服务器
一个标准的代理缓冲服务被用于缓存静态的网页(例如:html文件和文件等)到本地网络上的一台主机上(即代理服务器)。当被缓存的页面被第二次访问的时候,浏览器将直接从本地代理服务器那里获取请求数据而不再向原web站点请求数据。这样就节省了宝贵的网络带宽,而且提高了访问速度。但是,要想实现这种方式,必须在每一个内部主机的浏览器上明确指明代理服务器的IP地址和端口号。客户端上网时,每次都把请求送给代理服务器处理,代理服务器根据请求确定是否连接到远程web服务器获取数据。如果在本地缓冲区有目标文件,则直接将文件传给用户即可。如果没有的话则先取回文件,先在本地保存一份缓冲,然后将文件发给客户端浏览器。
2. 透明代理缓冲服务器
透明代理缓冲服务和标准代理服务器的功能完全相同。但是,代理 *** 作对客户端的浏览器是透明的(即不需指明代理服务器的IP和端口)。透明代理服务器阻断网络通信,并且过滤出访问外部的>Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。

在高连接并发的情况下,Nginx是Apache服务器不错的替代品。

预备编译环境
安装make:

安装g++:

启动nginx,访问 >

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12638494.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存