} "> 登录
当前位置: 首页 博客系统

HTTPS站点 使用 web-msg-sender 进行推送的解决办法

日期:2018-09-18 19:00  点击量:5693

好处是 Workerman 原生支持 https

一、需求

HTTPS 站点使用 web-msg-sender 进行消息的推送。

适用于 Workerman 框架的所有应用。

workderman ssl 文档地址:

二、修改代码

由于 Workerman 原生支持 HTTPS ,只需要证书进行验证即可,以 web-msg-sender 举例:

需要修改的是 socket_io.php ,修改的地方包括 socket 和 Worker 的http

1. 修改 socketIO

// 传入ssl选项,包含证书的路径
$context = array(
    'ssl' => array(
        'local_cert'  => '/usr/local/nginx/conf/ssl/xxxxx.com.crt', // pem 文件一样的
        'local_pk'    => '/usr/local/nginx/conf/ssl/xxxxx.com.key',
        'verify_peer' => false,
    )
);
// PHPSocketIO服务 加上 $context 项
$sender_io = new SocketIO(2120,$context);

2. 修改 Worker

需要注意的是,开启的协议还是 http,只不过我们加了一层套接字 SSL。

  • 我一直的观点是 http 是协议,SSL也是协议,但是https不是协议。
  • Worker 中 http 的意思就是进行http请求
$context = array(
        'ssl' => array(
            'local_cert'  => '/usr/local/nginx/conf/ssl/xxxxx.com.crt', // pem 文件一样的
            'local_pk'    => '/usr/local/nginx/conf/ssl/xxxxx.com.key',
            'verify_peer' => false,
        )
    );
    // 监听一个http端口
    $inner_http_worker = new Worker('http://0.0.0.0:2121',$context);

3. 使用

使用的时候,用的那个域名的crt和key文件就监听和发送哪个域名接口,请求URL和websocket都需要(不过为了省事儿, Worker的那个套接字其实加不加无所谓,主要是socket的套接字。但是为仅仅使用Workerman的Worker加SSL,这样操作就OK)

"小礼物走一走,感谢支持"
赞赏支持
/作者: 超级管理员    /标签: 技术文档
举报

相关文章

PhpStorm 快捷键大全 PhpStorm 常用快捷键和配置

PhpStorm 快捷键大全 PhpStorm 常用快捷键和配置......

/作者: -/标签: 技术文档 /点击量: 658 /评论量: 0 /添加时间: 1546679459
Linux定时任务Crontab详解

......

/作者: 超级管理员/标签: 技术文档 /点击量: 677 /评论量: 0 /添加时间: 1546022476
代码风格规范

云豹框架代码风格规范(基于PSR)......

/作者: 超级管理员/标签: 技术文档 /点击量: 1000 /评论量: 0 /添加时间: 1541063921
Commit message 和 Change log 编写指南

Commit message 和 Change log 编写指南......

/作者: 超级管理员/标签: 技术文档 /点击量: 897 /评论量: 0 /添加时间: 1539685292
云豹框架Git使用问题汇总

云豹框架Git使用问题汇总......

/作者: 超级管理员/标签: 技术文档 /点击量: 569 /评论量: 0 /添加时间: 1539305364