nginx教程:map $http_upgrade $connection_upgrade升级连接配置解读

这篇具有很好参考价值的文章主要介绍了nginx教程:map $http_upgrade $connection_upgrade升级连接配置解读。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

配置示例

map $http_upgrade $connection_upgrade {
        default upgrade;
        ''   close;
    }

配置解读

这段配置是用来定义一个 Nginx 变量 connection_upgrade 的映射规则,它用于在处理 WebSocket 连接等情况下控制 HTTP 连接的升级。以下是对这段配置的详细解释:

  1. map $http_upgrade $connection_upgrade { ... }: 这一行定义了一个名为 connection_upgrade 的变量,并使用 map 指令来配置变量的值映射规则。具体来说,它将根据 $http_upgrade 变量的值来确定 $connection_upgrade 变量的值。

  2. default upgrade;: 这一行定义了默认的映射规则。当 $http_upgrade 变量的值不匹配任何其他规则时(即没有升级请求头时),$connection_upgrade 的值将被设置为 “upgrade”。这是 HTTP 升级连接的一种标准方式,通常用于将 HTTP 连接升级为 WebSocket 连接或其他协议。

  3. '' close;: 这一行定义了一个额外的映射规则,当 $http_upgrade 的值为空时(即没有升级请求头时),$connection_upgrade 的值将被设置为 “close”。这表示在没有明确要求升级连接的情况下,连接将被关闭,即不进行升级。

综合起来,这段配置的作用是根据客户端的请求头中是否包含升级请求头来设置 $connection_upgrade 变量的值。如果客户端请求升级连接,$connection_upgrade 将被设置为 “upgrade”,允许连接升级到其他协议。如果没有升级请求头或不需要升级,$connection_upgrade 将被设置为 “close”,表示连接将被关闭。

这种配置常用于处理 WebSocket 连接等需要升级 HTTP 连接的场景,它允许 Nginx 在不同的连接状态下采取不同的行动,以确保连接按预期工作。文章来源地址https://www.toymoban.com/news/detail-778432.html

到了这里,关于nginx教程:map $http_upgrade $connection_upgrade升级连接配置解读的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • nginx代理websocket无法链接到服务,服务端报错:Handshake failed due to invalid Upgrade header: null

    1、使用nginx代理websocket 2、websocket无法成功连接到服务端 3、服务端报错 4、nginx日志正常,没有发现与该websocket地址有关的报错 1、前端表现如下 1、协议是否使用有误,从上面的截图可以看出,websocket使用的是 wss ,那么nginx代理时,使用的协议是否是 https 检查结果:nginx代理

    2024年02月02日
    浏览(49)
  • Nginx map 实现时间格式转换

    哈喽大家好,我是咸鱼 最近我们需要把 Nginx 的日志接入到自研的日志采集平台上,但是这个平台只支持 JSON 格式,所以需要 把 Nginx 日志格式改成 JSON 格式 例如下面这样的效果 刚开始在主配置文件 nginx.conf 中定义了一个名叫 json 的日志格式字段 验证的时候其他内容没啥问题

    2024年02月08日
    浏览(49)
  • HTTP CONNECT 方法

    目录 隧道/代理 使用 客户端发送请求报文 客户端发送响应报文 在 HTTP 协议中,CONNECT 方法可以开启一个客户端与所请求资源之间的双向沟通的通道。它可以用来创建隧道(tunnel)。 例如,CONNECT 可以用来访问采用了 SSL (en-US) (HTTPS) 协议的站点。客户端要求** 代理 **服务器将

    2024年02月14日
    浏览(22)
  • 解决docker nginx 502错误 connect() failed (111: Connection refused) while connecting to upstream

    docker里启动了nginx容器,然后配置好了前端页面,后端服务在宿主机里启动运行,页面能正常预览,但是反向代理请求后端的时候报502,宿主机的wlan ip是192.168.1.106,宿主机docker网桥ip是172.17.0.1 若服务器是网线连接的则服务器的ip在eth0看,因为我用的是wifi所以在wlan有ip   使用

    2024年02月05日
    浏览(51)
  • .NE8实现HTTP Tunnel代理,利用HTTP协议升级机制和HTTP CONNECT动词

    看到一个文章[Go] 不到 100 行代码实现一个支持 CONNECT 动词的 HTTP 服务器 原理图如下: 这里在NET8.0中实现反向代理服务器部分 新建MiniApi项目 编辑 Program.cs 文件。 正向代理服务器的HttpClient请求如下,将获取到的TcpStream和TcpListener的NetworkStream串联即可。 如下是正向代理服务器

    2024年02月22日
    浏览(39)
  • Suervisor http://localhost:9001 refused connection

    当后台启动supervisord后,使用supervisorctl命令进行任务管理时, 一、报错原因: http://localhost:9001 refused connection 显示拒绝连接 二、问题原因分析: 因为supervisor通常有以下两种方式通信: 1、本地socket 2、http连接 在supervisor.conf配置文件中,启用socket连接,注释http方式,supervi

    2024年04月25日
    浏览(31)
  • HTTP的长连接和短连接详解(HTTP 请求头中的Connection字段)

    参考博客:https://www.cnblogs.com/hls-code/p/15015859.html 前言: HTTP的长连接和短连接本质上是TCP的长连接和短连接。 HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。 IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠地传递数据包,使得网络

    2024年02月15日
    浏览(45)
  • No mapping found for HTTP request with URI

    参考: 参考地址 ssm老项目,接过来别人的项目 临时建了一个Controller方便测试用的,结果访问掉不通,报: No mapping found for HTTP request with URIxxxx 这样的错误 看了下web,xml配置 在 webmvc-config.xml 配置文件里面添加了几行配置 说明: com.iph.hiring.headcount.api.service.* 是我Controller所在的地址,

    2024年02月11日
    浏览(45)
  • cn.hutool.http.HttpException: Connection reset 问题解决

    项目A给项目B接口发送数据; 项目使用的是hutool的http工具类; 本地、测试环境均正常,生产出现了错误,明细: 生产环境接口测试没有问题; 在服务器同样可以ping通生产环境,排除白名单问题; 使用 timeout() 设置的超时时间,同样也记录了方法调用时间,均没有问题,并

    2024年02月13日
    浏览(46)
  • 04 | 挥手:Nginx日志报connection reset by peer是怎么回事?

    今天,我们要通过实际的案例,来学习下 TCP 挥手的知识,在实战中加深对这些知识的理解。 我们在做一些应用排查的时候,时常会在日志里看到跟 TCP 有关的报错。比如在 Nginx 的日志里面,可能就有 connection reset by peer 这种报错。“连接被对端 reset(重置)”,这个字面上

    2024年02月03日
    浏览(56)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包