PushMe Server是PushMe APP的开源服务端,支持自有服务器部署。
最新PushMe Server v2.0消息服务支持配置TLS证书,也就支持绑定域名了,因为消息服务是TCP服务,所以在没有证书的情况下是无法绑定域名的,或者说绑定域名极为麻烦。
PushMe Server默认使用两个端口:
3010端口
为面板管理及消息API端口,提供的是http服务,使用nginx反向代理可以轻松绑定域名,就不再说了。
3100端口
为消息服务端口,即在PushMe手机APP上配置自建服务时需要填写的端口号,此端口上运行的是TCP协议的服务。
同时PushMe Server v2.0开始,将websocket服务由3010端口迁移到了3100端口,所以之前在PushMe Client上配置自建服务时填写的端口也要由3010改为3100。
另外,为了方便TLS配置,在3100端口上还提供了证书访问和下载功能。
所以:
- 3100:TCP -> 给PushMe手机APP使用
- 3100:Websocket -> 给PushMe Client电脑端使用
- 3100:HTTP -> 给手机一键获取证书和电脑下载证书使用(也可以手工复制粘贴证书内容)
3100上运行服务比较多,可以根据自己实际需要,nginx代理时只代理部分服务。下面介绍绑定域名并支持3种服务的方法,以宝塔面板为基础:
登录宝塔面板,打开软件商店->已安装软件,点击nginx设置,切换到配置文件,在stream块内error_log行下添加如下代码,如果没有stream块请新建stream块:
upstream pushme_backend {
server 127.0.0.1:3100; #服务运行实际地址
}
upstream other_backend {
server 127.0.0.1:80;
}
# SNI 路由映射(使用 map)
map $ssl_preread_server_name $backend {
你的域名 pushme_backend;
default other_backend; # 默认后端
}
server {
listen 8443 ssl_preread on reuseport; #建议端口不要使用443
listen [::]:8443 ssl_preread on reuseport; # IPV6
proxy_protocol on; # 传递真实IP
proxy_pass $backend;
proxy_timeout 2h;
proxy_buffer_size 32k;
}
然后重启nginx,即可实现域名访问服务。
重要提示,如果使用自签名证书,绑定域名后,在PushMe Server上生成自签名证书时,记得填写这个域名,如果绑定多个域名,换行填写多个即可。另外就是服务器防火墙要开放新端口8443或者你自定义的端口。关于证书文件,如果在nginx上配置了证书,在pushme server后台请关闭证书配置,即两个地方配置一个地方就行了。
如有其它问题,请评论留言。
关键词:PushMe域名
所属分类:网站技术
本文地址:https://me.i-i.me/article/76.html
评论