当前位置: 首页 > news >正文

php:nginx如何配置WebSocket代理?

在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.lryc.cn/news/490884.html

相关文章:

  • 3349、检测相邻递增子数组 Ⅰ
  • C++笔记之函数入参传递std::unique_ptr 时使用 std::move的场景
  • 怎么只提取视频中的声音?从视频中提取纯音频技巧
  • 数仓工具—Hive语法之窗口函数中的 case when
  • 基于微信小程序的酒店客房管理系统+LW示例参考
  • Elasticsearch客户端在和集群连接时,如何选择特定的节点执行请求的?
  • 【AI最前线】DP双像素sensor相关的AI算法全集:深度估计、图像去模糊去雨去雾恢复、图像重建、自动对焦
  • CTF之密码学(Polybius密码)
  • 【C++篇】从售票窗口到算法核心:C++队列模拟全解析
  • clipboard
  • 【Mac】VMware Fusion Pro 安装 CentOS 7
  • 游戏引擎学习第22天
  • 洛谷 B2038:奇偶 ASCII 值判断
  • APIRouter
  • 算法模板2:位运算+离散化+区间合并
  • 钉钉授权登录
  • 【视频】二维码识别:libzbar-dev、zbar-tools(zbarimg )
  • C语言中的结构体,指针,联合体的使用
  • 基于卡尔曼滤波器的 PID 控制
  • CVE-2022-26201
  • 海信Java后端开发面试题及参考答案
  • 传智杯 3-初赛:终端
  • 大数据新视界 -- Hive 数据分区:精细化管理的艺术与实践(上)(7/ 30)
  • 【中间件】Redis
  • RTSP播放器EasyPlayer.js播放器分辨率高的视频在设置container的宽高较小时,会出现锯齿状的画面效果
  • Java爬虫:获取商品详情的实践之旅
  • 行业分析---2024年小鹏汽车AI Day及三季度财报
  • 写时复制,读时加载
  • Python和R基因组及蛋白质组学和代谢组学
  • selenium环境搭建详细过程