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
相关推荐
未来之窗软件服务2 分钟前
服务器运维(三十六)SSL会话缓存配置指南—东方仙盟
运维·服务器·缓存·ssl·服务器运维·仙盟创梦ide·东方仙盟
BingoGo3 分钟前
如何重构遗留 PHP 代码 不至于崩溃
后端·php
独自归家的兔6 分钟前
Ubuntu环境下 Harbor docker安装教程
运维·docker·容器
China_Yanhy9 分钟前
转型AI运维工程师·Day 9:告别手动“炼丹” —— 固化环境与自动化调度
运维·人工智能·自动化
JaguarJack11 分钟前
PHP 的问题不在语言本身,而在我们怎么写它
后端·php·服务端
ZHOUPUYU4 小时前
PHP 8.3网关优化:我用JIT将QPS提升300%的真实踩坑录
开发语言·php
2601_949146539 小时前
Shell语音通知接口使用指南:运维自动化中的语音告警集成方案
运维·自动化
儒雅的晴天9 小时前
大模型幻觉问题
运维·服务器
Gofarlic_OMS10 小时前
科学计算领域MATLAB许可证管理工具对比推荐
运维·开发语言·算法·matlab·自动化
通信大师10 小时前
深度解析PCC策略计费控制:核心网产品与应用价值
运维·服务器·网络·5g