php:nginx如何配置WebSocket代理?

embedded/2024/11/22 11:23:10/

nginx配置中加入以下配置即可:

server {listen 80;server_name test.com;# 配置 WebSocket 代理location /ws {proxy_pass http://127.0.0.1:8083;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;# 可选:设置超时时间proxy_read_timeout 86400s;}}

参数解释

    proxy_pass:指定后端 WebSocket 服务器的地址。
    proxy_http_version 1.1:设置 HTTP 版本为 1.1,WebSocket 协议需要 HTTP/1.1。
    proxy_set_header Upgrade $http_upgrade:传递客户端的 Upgrade 头部。
    proxy_set_header Connection "upgrade":传递客户端的 Connection 头部,指示这是一个 WebSocket 升级请求。
    proxy_set_header Host $host:传递客户端的 Host 头部。
    proxy_set_header X-Real-IP $remote_addr:传递客户端的真实 IP 地址。
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for:传递客户端的 X-Forwarded-For 头部。
    proxy_set_header X-Forwarded-Proto $scheme:传递客户端的协议(HTTP 或 HTTPS)。
    proxy_read_timeout 86400s:设置读取超时时间,WebSocket 连接通常是长连接,因此需要设置较长的超时时间

其中http://127.0.0.1:8083为我们websocket服务监听的地址和端口,此时,如果客户端要连接websocket服务可以直接配置。

 例如js:

var webSocket = new WebSocket("ws://test.com/ws");

如果你希望配置https,则需要在nginx配置中加入ssl证书

    ssl_certificate /path/to/cert.pem;ssl_certificate_key /path/to/key.pem;


http://www.ppmy.cn/embedded/139610.html

相关文章

计算机网络(第一章)

文章目录 概述1.1计算机网络在信息时代的作用1.2因特网概述1. 网络,互连网(互联网)和因特网2. 因特网发展的三个阶段3.因特网的标准化工作4.因特网的组成 1.3 三种交换方式电路交换 (Circuit Switching)分组交换 (Packet Switching)报文交换 (Message Switching)三个交换的对比…

7 设计模式原则之合成复用原则

一、什么是合成复用原则? 1.定义: 要尽量使用对象组合(组合关系)来实现代码复用,而不是通过类继承(继承关系)来实现。 2.继承 vs. 组合 继承是一种“强耦合”的关系,子类会受父类的…

2024年亚太数学建模竞赛问题C宠物产业及相关产业发展分析与对策

随着人们消费理念的发展,随着经济的快速发展和人均收入的提高,宠物产业作为一个新兴产业在全球范围内逐渐积聚势头。1992年,中国小动物保护协会成立,随后1993年,皇家狗狗、玛氏等国际宠物品牌进入中国市场。随着“宠物…

【论文速读】| RobustKV:通过键值对驱逐防御大语言模型免受越狱攻击

基本信息 原文标题:ROBUSTKV: DEFENDING LARGE LANGUAGE MODELS AGAINST JAILBREAK ATTACKS VIA KV EVICTION 原文作者:Tanqiu Jiang, Zian Wang, Jiacheng Liang, Changjiang Li, Yuhui Wang, Ting Wang 作者单位:Stony Brook University…

极简AI工具箱网站开源啦!

开源地址:https://gitee.com/toolsj-open/go 反正也经营不下去了,一点流量都没有。虽然谈不上精品,但是我也用心做了。开源出来供学习吧,下面是详细文档: 相关仓库 mysql表结构:https://gitee.com/tools…

springboot基于协同过滤算法的的儿童图书推荐系统

摘 要 儿童图书推荐系统是一种基于计算机技术和信息管理的系统,旨在帮助儿童图书爱好者。该系统通过整合儿童图书、热销图书等数据,提供全面的儿童图书管理服务。 本文拟采用java技术和springboot搭建系统框架,后台使用MySQL数据库进行信息管…

加密市场动态:暴涨后的调整与未来趋势

1. 加密市场暴涨后进入调整,IV指标处于低位 经历了连续一周的暴涨后,加密市场开始显现疲态。据Greeks.live的宏观研究员Adam分析,比特币价格接近90000美元的关键点位,成为市场争夺的焦点。然而,近期特斯拉、英伟达等美…

【YOLOv8】安卓端部署-1-项目介绍

【YOLOv8】安卓端部署-1-项目介绍 1 什么是YOLOv81.1 YOLOv8 的主要特性1.2 YOLOv8分割模型1.2.1 YOLACT实例分割算法之计算掩码1.2.1.1 YOLACT 的掩码原型与最终的掩码的关系1.2.1.2 插值时的目标检测中提取的物体特征1.2.1.3 coefficients(系数)作用1.…