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




评论提示: 点击头像可以回复评论

提交取消回复
[face]@
[uname]  [add_time]
[content]
[reply]
加载更多评论