nginx反向代理流程

这篇具有很好参考价值的文章主要介绍了nginx反向代理流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、nginx反向代理流程

反向代理:使用代理服务器来接受internet上的连接请求,然后将请求转发给内部网络中的上游服务器,并将上游服务器得到的结果返回给请求连接的客户端,代理服务器对外表现就是一个web服务器。Nginx就经常拿来做HTTP反向代理服务器。

Nginx具有强悍的高并发高负载能力,所以一般会作为前端服务器直接向客户端提供静态文件服务。但是一些复杂、多变的业务不适合放Nginx上,一般会使用Apache、Tomcat等服务器来处理。因此,Nginx一般会作为静态web服务器与反向代理服务器,将不适合自己处理的请求转发给上游服务器处理。

在这里插入图片描述

nginx反向代理流程,nginx,运维,java

Nginx代理服务器处理过程:

1.接受HTTP请求,将用户的请求(包括HTTP包体)完整的接受到Nginx服务器的磁盘或者内存中。

2.向上游服务器发起连接

3.将缓存的客户端请求转发到上游服务器

Nginx的这种转发方式与Squid等代理服务器的处理方式不同,Squid是一边接收客户端请求,一边将请求转发到上游服务器。相比之下 ,Nginx延长了一个请求处理的时间,并且增加了用于缓存请求内容的内存和磁盘空间。 但是Nginx有效的降低了上游服务器的负载,将压力放在了Nginx服务器上。

那么Nginx的这种机制是如何降低上游服务器的负载的呢?通常情况下,客户端与Nginx代理服务器走公网,代理服务器与上游服务器之间走内网。如果一边接受客户端请求,一般将请求转发到上游服务器的话,上游服务器需要长时间的保存这个连接,增加上游服务器的并发压力。但是如果是接受到完整请求之后,再转发给上游服务器的话,内网的速度更快,不需要那么长的时间保持连接,可以减低上游服务器的并发压力。

二、nginx反向代理具体执行过程

以访问:http://nginx.test.com为例:

1、当HTTP请求交给Nginx处理时,首先Nginx会取出header头中的Host (此处也就是 nginx.test.com),然后将其与所有的配置文件中的每个server段中的server_name进行匹配,以此决定到底有哪个server块来处理这个请求。(当然有时也可能一个Host与多个server块中的server_name都匹配,这时会根据匹配的优先级选择实际处理的server块)

2、此时我们可以看到HTTP请求匹配到了server_name nginx.test.com;,这样接下来nginx就会在当前server块中匹配到 location / 。

3、接下来继续由nginx处理可以看到 location / { proxy_pass http://hellonginx; } ; 这就是进行反向代理处理,这个例子中使用的是nginx的upstream模块进行反向代理实现。

4、通过proxy_pass http://hellonginx; 中的 hellonginx 可以找到对应的upstream块,然后,可以根据其中的 server 127.0.0.1:8080 ;再次进行代理请求到目标服务器。

 文章来源地址https://www.toymoban.com/news/detail-654387.html

到了这里,关于nginx反向代理流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【nginx实战】nginx正向代理、反向代理、由反向代理实现的负载均衡、故障转移详解

    本文将要讨论以下内容 正向代理与反向代理的基本概念 Nginx正向代理服务的配置指令、Nginx反向代理服务的配置指令 Nginx反向代理服务器的应用——负载均衡、故障转移 案例分析   正向代理的概念 局域网内的机器借助代理服务访问局域网外的网站,此代理服务器提供的服务

    2024年01月24日
    浏览(51)
  • Nginx 正向代理和反向代理

    博主介绍 : ✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家✌ Java知识图谱点击链接: 体系化学习Java(Java面试专题) 💕💕 感兴趣的同学可以收藏关注下 , 不然下次找不到哟 💕💕 Nginx性能高的原因有以下几点: Nginx是一个轻量级的We

    2024年02月08日
    浏览(43)
  • 【Nginx三】——Nginx实现反向代理

    【Nginx一】——Nginx介绍(正向代理 反向代理 负载均衡 动静分离) 【Nginx二】——Nginx常用命令 配置文件 Nginx如何处理请求 本篇博客主要介绍Nginx如何实现反向代理,会进行介绍什么是反向代理,以及进行实例实现反向代理。 代理服务器来接收网络上请求,然后将请求转发

    2024年02月05日
    浏览(64)
  • Nginx(4)nginx的反向代理

    正向代理代理的对象是客户端,反向代理代理的是服务端,这是两者之间最大的区别。Nginx即可以实现正向代理,也可以实现反向代理。 先通过一个小案例演示下Nginx正向代理的简单应用,需求如下: (1)服务端的设置:当客户端发送请求之后,需要在指定日志文件里面输出客

    2024年02月03日
    浏览(62)
  • 深度详解Nginx正向代理与反向代理

    它的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我,从网站的角度

    2024年02月11日
    浏览(49)
  • Nginx代理nginx.conf配置——反向代理(对WebSocket支持)

    基于Nginx代理nginx.conf配置——反向代理,如果要添加websocket支持,需要进行如下配置 在http中添加一下配置,添加对websocket支持 配置后重新运行nginx后,websocket即可成功代理。 注意防火墙端口是否开放、nginx如果使用docker,其对应的端口是否映射出来。

    2024年02月13日
    浏览(38)
  • Nginx(一)介绍Nginx、正向代理和实现反向代理的两个实例

    中国Nginx官网:https://www.nginx-cn.net/ GitHub地址:https://github.com/nginxinc/ 客户端想访问tomcat服务器,只需要访问ww.baidu.com。对真实的服务器IP是隐藏的 1、反向代理实例一(反向代理,访问www.123.com) 步骤一:修改主机映射“C:WindowsSystem32driversetchosts” 步骤二:修改Nginx中的配

    2024年02月08日
    浏览(48)
  • nginx反向代理、负载均衡

         

    2024年02月12日
    浏览(39)
  • nginx-反向代理缓存

    反向代理缓存相当于自动化动静分离。 将上游服务器的资源缓存到nginx本地,当下次再有相同的资源请求时,直接讲nginx缓存的资源返回给客户端。 本地缓存资源有一个过期时间,当超过过期时间,则重新向上游服务器重新请求获取资源。 这样减轻了上游服务器的资源请求负

    2024年02月09日
    浏览(35)
  • 【Nginx】反向代理

    关于正向代理和反向代理,我们在前面的章节已经通过一张图给大家详细的介绍过了,简而言之就是正向代理代理的对象是客户端,反向代理代理的是服务端,这是两者之间最大的区别。 Nginx既可以实现正向代理,也可以实现反向代理。 我们先来通过一个小案例演示下Nginx正

    2024年02月06日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包