egroupware/swoolepush
Composer 安装命令:
composer require egroupware/swoolepush
包简介
EGroupware push server using Swoole
README 文档
README
Open tasks:
- check session matches HTTP host / instance AND session is not anonymous
- rotate token by async job and push new tokens to active sessions
- require Bearer token to authorize requests / send push messages
- check sessionid cookie when client opens a websocket connection
Installation instructions
Most easy installation is the one comming with the container based development system.
To install EGroupwares push server for a regular webserver running on the host follow these instructions:
cd /path/to/egroupware
git clone git@github.com:EGroupware/swoolpush.git
cd swoolpush
docker run --rm -it -v $(pwd):/var/www -v /var/lib/php/sessions:/var/lib/php/sessions -p9501:9501 phpswoole/swoole
You need to adapt the session-directory, if you are not using Ubuntu.
Then visit setup and install swoolpush app (no run rights for users neccessary).
You need to proxy the /push URL into the container, eg. for Apache
<Location /egroupware/push>
Order allow,deny
Allow from all
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /var/www/(.*) ws://localhost:9501/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /var/www/(.*) http://localhost:9501/$1 [P,L]
ProxyPreserveHost On
ProxyPassReverse http://localhost:9501
</Location>
You need to change the above /var/www, in case you use a different document root.
eg. for Nginx
location /egroupware/push {
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_pass http://localhost:9501;
}
Send a test-message
You can get a token from the server output, when a client connects.
curl -i -H 'Content-Type: application/json' -X POST 'https://boulder.egroupware.org/egroupware/push?token=<token>' \
-d '{"type":"message","data":{"message":"Hi ;)","type":"notice"}}'
Remember you need to restart the Docker container, when you make changes to the server!
egroupware/swoolepush 适用场景与选型建议
egroupware/swoolepush 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 20.11k 次下载、GitHub Stars 达 2, 最近一次更新时间为 2020 年 06 月 13 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 egroupware/swoolepush 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 egroupware/swoolepush 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 20.11k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 3
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: GPL-2.0-or-later
- 更新时间: 2020-06-13