joggle的ngrokd通道部署

直接使用云服务器部署Joggled(joggle)服务,部署要求:

  • 1、采购一款云服务器,配置要求不够1G1核即可,宽带100MB(按量付费);
  • 2、购买一个域名,用于提供穿透服务的,将所有顶级、二级域名泛解析到云服务器IP;
  • 3、搞一个免费的域名证书,需要支持泛域名配置的;

注意:目前还没有开发添加域名、端口的功能,需要用户自行在数据库domain表添加并绑定给用户ID。 (添加域名是一个低频操作,所以没有优先做这块功能。)

安装joggled通道服务

joggled服务主要占用80 443 8083 端口,因此部署前需要检查服务器的三个端口是否放开(包含服务器自身防火墙和云服务器的厂商提供的防火墙)。

首先百度盘种下载通道程序压缩包:

下载地址: https://pan.baidu.com/s/1Xy5_R_ezPFft9vsZrLNBSA
密码: wq2e

下载完成后,上传到服务器的/opt/ngrok/目录中,并解压

mkdir -p /opt/ngrok

# 上传文件到 /opt/ngrok/bullet-server-linux.tar.gz

cd /opt/ngrok

# 解压程序
tar -xvf bullet-server-linux.tar.gz

# 编辑脚本文件/bin/bullet-server
vi /bin/bullet-server

脚本文件配置内容

#!/bin/sh 
/opt/ngrok/bin/ngrokd \
-serverUrl="localhost:8081" \
-domain=cjbb.cc \
-httpAddr=:80 \
-httpsAddr=:443 \
-tunnelAddr=:8083 \
-serverTunnelId=1 \
-serverApiToken=8hiUhv4vo%NRQhXx
配置参数 说明 配置例
serverUrl 管理端的接口地址(不含协议) localhost:8081
domain 通道的域名,支持二级域名 a.cjbb.cc
serverTunnelId 通道的id,从管理端添加后会生成对应的通道id,也可以数据库直接添加
serverApiToken 通道的token,每个通道都可以配置独立的Token
tunnelAddr 通道的管理链接与代理链接端口,默认8083 8083
httpsAddr 通道的https协议占用端口,默认443 443
httpAddr 通道的http协议占用端口,默认80 80

以上配置保存ok后,就进入下一步证书配置

证书配置说明

bullet 证书分为两种:

  • 1、通道证书 一般由开发者颁发,也支持自定义
  • 2、域名证书 可信的机构获得,使用商用的或者免费的

注意:域名证书须使用泛*证书,可以使用多个域名共同使用的证书。通道与域名证书也可以使用同一套。

配置路径在 conf/cert 文件夹里,目录结构如下所示

├── cert
│   ├── server.crt  通道证书
│   ├── server.key  通道私钥
│   ├── cjbb.cc  泛域名证书
│   │   ├── fullchain.pem 
│   │   └── privkey.pem
│   └── test.cjbb.cc 自定义域名,也可以使用泛域名证书
│       ├── fullchain.pem 
│       └── privkey.pem
└── readme.md

证书名称说明:+

文件 说明
fullchain.pem 包括了cert.pem和chain.pem的内容
privkey.pem 证书的私钥

启动通道服务

前面的启动脚本与证书配置都完成的情况,就可以正式启动通道了。 如果启动通道后,你的管理服务没启动,那么通道服务会一直websocket重试链接管理服务,最大延时30秒。

./bin/bullet-server

启动通道后,观察日志输出情况,一般链接成功后会输出链接成功文案,失败会重试,认证的最大重试为100次。

将通道配置为linux服务

在doc目录中有个service服务案例,拷贝到/etc/systemd/system/ 目录下,然后修改为自己的配置。

启动与自动启动命令如下:

systemctl enable joggled
systemctl start joggled

results matching ""

    No results matching ""