Bark 服务端部署及 https 配置

引言

  这篇文章 中简单介绍了 Bark 这个工具的使用方法,但从安全和隐私角度考虑,我们更希望能自己搭建服务端进行消息推送。本文将介绍如何自行部署 Bark 服务端,并启用 Https 安全通信协议。

部署 Bark 服务端并启动

  部署 Bark 的服务端还是很简单的,参考 这个教程 中的”手动安装”即可。具体步骤可以参照下文,也可直接跳过本段,直接进入 Https 部署环节。

部署 Bark 服务端

  首先在 这里 根据自己服务器的操作系统,下载对应的可执行文件。我的服务器操作系统是Ubuntu 18.04 x64版,所以下载的是 bark-server_linux_amd64 这个版本。

  以 Linux 系统为例,通过 XFTP 等 ftp 工具将下载得到的 bark-server_linux_amd64 文件上传到要部署的服务器上,如 /home/ubuntu 中。接下来建议单独创建一个目录,用于存放服务端程序、数据库及日志文件,便于查看和管理。

1
2
3
4
5
6
7
ubuntu@VM-0-8-ubuntu:~$ mkdir BarkSvr
ubuntu@VM-0-8-ubuntu:~$ mv bark-server_linux_amd64 ./BarkSvr/bark-server
ubuntu@VM-0-8-ubuntu:~$ cd BarkSvr

ubuntu@VM-0-8-ubuntu:~/BarkSvr$ ls -l
total 8628
-rwxr-xr-- 1 ubuntu ubuntu 8834848 Jul 25 19:47 bark-server

启动 Bark 服务端并验证功能

  上一步完成后,Bark 的服务端程序便存放好了。但是在 Linux 下需要先增加”执行”权限,然后启动程序开始监听网页请求。下文中的命令里,通过 -d . 参数指定了数据保存目录为当前目录,如果不加这个参数,则数据默认保存在 ./data/ 目录下。

1
2
3
ubuntu@VM-0-8-ubuntu:~/BarkSvr$ chmod +x bark-server
ubuntu@VM-0-8-ubuntu:~/BarkSvr$ ./bark-server -l 0.0.0.0 -p 8081 -d .
INFO[2019-07-25 19:52:39] Serving HTTP on 0.0.0.0:8081

  看到 INFO[2019-xx-xx xx:xx:xx] Serving HTTP on 0.0.0.0:8081 这行日志,说明服务端已经启动起来了。接下来可以用以下2个方法验证一下功能是否正常:

  1. 另外打开一个终端(Linux 或 macOS),并执行 curl http://{server}:{port}/ping 命令,其中 {server} 和 {port} 分别替换为部署了服务端的服务器 IP 地址和启动时配置的监听端口,本例中执行的命令如下(请自行替换你自己的服务器地址和监听端口):

    1
    2
    ubuntu@VM-0-8-ubuntu:~$ curl 139.199.198.139:8081/ping
    {"code":200,"data":{"version":"1.0.0"},"message":"pong"}
  2. 打开前一篇文章中介绍的 这个工具 并切换到 GET 模式,按下图填写服务端地址(请自行替换你自己的服务器地址和监听端口)并发出请求:

测试请求

  以上两种方法均可以测试服务端的功能是否正常。如果收到 code 为200且 message 为”pong”的返回结果,说明服务端工作正常。如果是使用网页工具发送的测试请求,则通过网页的”Response Text”栏可以看到返回结果。

开启 Bark 服务端后台运行并绑定设备

开启 Bark 服务端后台运行

  上文直接运行的方式,会使得服务端运行在 Shell 前台,当终端断开连接时,程序就会被关闭。所以最好把服务端程序启动为后台程序,避免不小心关了终端导致服务中断。在终端中执行以下命令:

1
2
3
4
ubuntu@VM-0-8-ubuntu:~$ cd /home/ubuntu/BarkSvr
ubuntu@VM-0-8-ubuntu:~/BarkSvr$ nohup ./bark-server -l 0.0.0.0 -p 8081 -d ./data &
[1] 18528
ubuntu@VM-0-8-ubuntu:~/BarkSvr$ nohup: ignoring input and appending output to 'nohup.out'

  此时服务端程序将会运行在后台,所有的程序日志都会写入到当前目录的 nohup.out 文件中,如果遇到问题,可以查看该文件获得运行日志分析问题。

绑定要推送的设备

  打开 Bark 手机端,如果是第一次打开,参照 这篇文章 进行应用初始化。初始化完成后,点击右上角的”+”号,打开”添加私有服务器”界面,并按图中内容填写(自行替换你自己的服务器地址和监听端口),然后点击右上角的”✅”按钮确认。如果服务器地址或监听端口填写错误,确认时界面下方会有错误提示,请检查填写内容是否正确。

设置服务器地址

  如果服务器地址和端口填写正确,程序将会自动返回到首页,并显示目前支持的几种推送格式,其中就包含本设备的设备识别码,如本机的识别码为 BAL9bUowzEqFNryvgPnEnS

设备识别码

  接下来可以参考 这篇文章 测试推送服务,比如可以直接用浏览器访问 http://139.199.198.139:8081/BAL9bUowzEqFNryvgPnEnS/测试标题/测试推送文本 并在手机上查看是否收到相应推送。

配置 HTTPS 协议

To be continued …

生成 SSL 证书

配置 Apache 反向代理

配置 Bark 客户端

后记

显示 Gitment 评论