Nginx反向代理服務器解析

Nginx反向代理服務器


    反向代理(reverse proxy)方式是指用代理服務器來接受Internet上的連接請求,然後將請求轉發給内部網絡中的上游服務器,從上游服務器上得到返回結果給internet上請求連接的客戶端,此時,代理服務器對外的表現就是一個web服務器。

nginx具有强悍的高并發高負載能力,因此一般會作爲前端的服務器直接向客戶端提供靜態文件服務,但也有一些複雜、多變的業務不適合放到nginx服務器上,這時會用apache,tomcat等服務器來處理。

nginx通常會配置爲既是靜態web服務器也是反向代理服務器,不適合nginx處理的請求就會直接轉發到上游服務器中處理。

當客戶端發來http請求時,nginx反向代理不會立刻轉發到上游服務器,而是先把用戶的請求完整地接受到nginx反向代理服務器的硬盤或者内存中,然後再向上游服務器發起連接,把緩存的客戶端請求轉發到上游服務器

這種工作方式的優缺點:

缺點:延長了一個請求處理時間,并增加了用戶緩存請求内容的内存和磁盤空間。

優點:降低了上游服務器的負載,盡量把壓力放在nginx反向代理服務器上。

爲什麽會降低降低了上游服務器的負載?

通常客戶端與代理服務器的網絡環境會比較複雜,多半是“走”公網,網速平均下來可能較慢,因此一個請求可能要持續很久才能完成。而代理服務器與上游服務器之間一般都是走内網,或者有專綫連接,傳輸速度比較快。Squid等反向代理服務器在與客戶端建立連接且還沒有開始接收http包體時,就已經向上游服務器建立了連接。例如,某個請求要上傳一個1G的文件,那麽每次Squid在收到一個tcp分包(如2KB)時,就會即時地向上游服務器轉發,在接收客戶端完整http包體的漫長過程中,上游服務器始終要維持這個連接,這直接對上游服務器的并發處理能力提出了挑戰,
    nginx反向代理不一樣,它在接收到完整的客戶端請求(如1G的文件)后,才會與上游服務器建立連接轉發請求,由於是内網,所以這個轉發過程會執行的很快。這樣,一個客戶端請求占用上游服務器的連接時間就會非常短,也就是說,nginx這種反向代理方案主要是爲了降低上游服務器的并發壓力

时间: 2024-12-23 04:28:47

Nginx反向代理服務器解析的相关文章

nginx反向代理问题解析

2016年-01-26:nginx稳定版本为nginx-1.8.1,核心版本为nginx-1.9.10+,1.9+版本修复了诸多nginx的bug,新增了很多新功能,本文介绍nginx反向代理方面 nginx反向代理实现方式很简单: http {     upstream myapp1 {         server srv1.example.com;         server srv2.example.com;         server srv3.example.com;     }

lvs的nat和dr实现,nginx反向代理,虚拟主机

1.LVS的基本用法 1.管理工具:ipvsadm2.基本概念 VS:Virtual Server,调度器 RS:Real Server(lvs), upstream server(nginx) backend server(haproxy) 实际服务器 CIP:Client IP 客户端IP VIP: Virtual serve IP VS外网的IP DIP: Director IP VS内网的IP RIP: Real server IP 实际服务器IP 3.转发模式: lvs-nat:修改请

搭建nginx反向代理用做内网域名转发

基于域名的7层转发的实现(NAT+反向代理) 在实际办公网中,因为出口IP只有一个,要实现对外提供服务的话就必须得做端口映射,如果有多个服务要对外开放的话,这只能通过映射不同端口来区分,这在实际使用过程中非常的痛苦(记忆困难.一一对应关系也没有规律.访问的时候还得加端口),这个痛苦的问题用表格的形式来形象的描述如下: Public IP Public Port Number Internal IP Internal Port Number Note 1.1.1.1 80 192.168.1.10

Nginx服务器 、 Nginx虚拟主机 、 Nginx反向代理

###################################################################################################3 Nginx服务器: 1.轻量级http服务器,并发量高.2.反向代理服务器. #########################################################################################################3 准备四

nginx反向代理与正向代理

nginx反向代理与正向代理 1 正向代理 正向代理: 原因是 客户端 ---X--- 网站,客户端不能直接访问某个网站 解决: 客户端 ----> 代理服务器(发起访问请求) ----> 某个想要访问的网站 客户端 <---- 代理服务器(响应的内容) <---- 某个想要访问的网站 结论: 正向代理实质就是位于客户端(client)与初始服务器(origin server)之间的服务器,为从原始服 务器获取内容 ,客户端向一个可以访问的代理服务器发起自己的请求并指向目标网站服务

CORS跨域与Nginx反向代理跨域优劣对比

最近写了一些关于前后端分离项目之后,跨域相关方案的基本原理和常见误区的帖子,主要包括CORS和Nginx反向代理.这两种方案项目中都有在用,各有优缺,关于具体使用哪种方案,大家的观点也不大一致,本文主要就此展开一下,从前后端及服务器配置.安全性.移植灵活性.扩展性等方面详细对比一下两种方案的优缺,以便于后期在方案选型上对大家有所帮助. 前端配置 CORS方案:跨域时部分浏览器默认不携带cookie,因此为了携带cookie需要设置一下xmlhttprequest的withCrendetails属

学习Nginx反向代理实现简单负载均衡

 Nginx proxy作为Nginx的重要功能,使用nginx proxy基本可以实现一个完整的7层负载均衡.其特色如下:1.功能强大,性能卓越,运行稳定.2.配置简单灵活. Nginx proxy作为Nginx的重要功能,使用nginx proxy基本可以实现一个完整的7层负载均衡. 其特色如下: 1.功能强大,性能卓越,运行稳定. 2.配置简单灵活. 3.能够自动剔除工作不正常的后端服务器. 4.上传文件使用异步模式. 5.支持多种分配策略,可以分配权重,分配方式灵活 配置环境: 三台

nginx反向代理缓存服务器的构建

Nginx反向代理缓存服务器构建 一:代理服务可简单的分为正向代理和反向代理: 正向代理:用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上, 然后由代理服务器去访问Web服务器,并将Web服务器的Response回传给客户端: 反向代理:与正向代理相反,如果局域网向Internet提供资源,并让Internet上的其他用户可以访问局域网内资源, 也可以设置一个代理服务器, 它提供的服务就

Nginx反向代理缓存服务器搭建

Nginx反向代理 代理服务可简单的分为正向代理和反向代理: 正向代理: 用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上, 然后由代理服务器去访问Web服务器,并将Web服务器的Response回传给客户端: 反向代理: 与正向代理相反,如果局域网向Internet提供资源,并让Internet上的其他用户可以访问局域网内资源, 也可以设置一个代理服务器, 它提供的服务就是反向代理.