Hyperf 在 NginxProxyManager 如何配置 websocket?

  • 新建代理 填写域名等服务信息,选择支持WebSockets。
  • 创建 SSL
  • 编写nginx配置
bash 复制代码
location /message.io{
    proxy_pass http://<你的ip>:<对应端口号>;
    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_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Port $server_port;
}
  • hyperf配置
  • routes.php
bash 复制代码
// 消息ws服务器
 Router::addServer('message', function () {
     Router::get('/message.io', 'App\Controller\Web\WebSocketController', [
         'middleware' => [\App\Middleware\WsAuthMiddleware::class], // ws中间件
     ]);
 });
  • server.php配置
bash 复制代码
 [
            'name' => 'message',
            'type' => Server::SERVER_WEBSOCKET,
            'host' => '0.0.0.0',
            'port' => 9502,
            'sock_type' => SWOOLE_SOCK_TCP,
            'callbacks' => [
                Event::ON_HAND_SHAKE => [Hyperf\WebSocketServer\Server::class, 'onHandShake'],
                Event::ON_MESSAGE => [Hyperf\WebSocketServer\Server::class, 'onMessage'],
                Event::ON_CLOSE => [Hyperf\WebSocketServer\Server::class, 'onClose'],
            ],
            'settings' => [
                // 心跳检测
                'heartbeat_idle_time' => 60,
                'heartbeat_check_interval' => 30,
            ],
        ],
  • 访问路径
bash 复制代码
wss://wsdev.com/message.io
相关推荐
Meya11278 分钟前
实时采集 + 全域可视化,打造跨站点机房一体化U位管理方案
大数据·运维·人工智能
Gofarlic_OMS16 分钟前
NX浮动许可调度黑名单机制,对比两款谁更合理
java·大数据·运维·开源·制造
三言老师37 分钟前
CentOS7.9:Redis服务器部署结构化实战教程
linux·运维·服务器·数据库
灯澜忆梦1 小时前
GO_网络编程---文件传输实战
网络·golang·php
happy_0x3f2 小时前
前端应用的离线暂停更新策略
开发语言·前端·php
tiannian12203 小时前
RFID资产管理系统投入产出全拆解:硬件、软件、部署、运维四笔账一次算清
运维·rfid·资产管理系统
我头发多我先学3 小时前
Linux入门:简要认识Linux和基础指令
linux·运维·服务器
Urbano3 小时前
职业工装外套核心缝制工序自动化替代分析与多品牌设备选型报告
运维·自动化
逍遥德3 小时前
运维技术栈Linux+docker+Kubernetes+Jenkins/GitLab CI 知识点详细列表
linux·运维·docker
名字还没想好☜3 小时前
Kubernetes CrashLoopBackOff 排查全流程:从 describe 到日志到 exit code
运维·docker·云原生·容器·kubernetes