分类
技术

搭建自己的 ngrok

CentOS 自带的 Git 版本比较低,建议先升级。

yum remove git
cd /usr/src
wget https://www.kernel.org/pub/software/scm/git/git-2.8.2.tar.gz
tar xzf git-2.8.2.tar.gz
cd git-2.8.2
make prefix=/usr/local/git all
make prefix=/usr/local/git install
echo"export PATH=$PATH:/usr/local/git/bin">> /etc/bashrc
source /etc/bashrc
git --version

然后安装必要的组件:

yum install build-essential golang mercurial

下载 ngrok:

cd ~/
# 官方地址 https://github.com/inconshreveable/ngrok.git
# 建议使用下面的地址,修复了某些无法访问的包地址
git clone https://github.com/tutumcloud/ngrok.git ngrok
cd ngrok

生成并替换 ngrok 的默认证书:

export NGROK_DOMAIN="test.com"
openssl genrsa -out base.key 2048
openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.pem
openssl genrsa -out server.key 2048
openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr
openssl x509 -req -in server.csr -CA base.pem -CAkey base.key -CAcreateserial -days 10000 -out server.crt
cp base.pem assets/client/tls/ngrokroot.crt
cp server.crt assets/server/tls/test.com.crt
cp server.key assets/server/tls/test.com.key

编译:

make release-server release-client

ngrok/bin 目录下的 ngrok、ngrokd 分别为客户端和服务端文件。

启动:

/root/ngrok/bin/ngrokd -domain="test.com" -httpAddr=":2333"

参考文章

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注