在CentOS系統(tǒng)上部署ngrokd實現(xiàn)內(nèi)網(wǎng)穿透
環(huán)境準(zhǔn)備與依賴安裝
確保系統(tǒng)為CentOS 7+版本并執(zhí)行系統(tǒng)更新:
yum update -y
yum install -y git gcc golang make openssl-devel
生成SSL加密證書
創(chuàng)建專用證書目錄并生成密鑰文件:
mkdir /usr/local/ngrok-certs
openssl genrsa -out /usr/local/ngrok-certs/rootCA.key 2048
openssl req -x509 -new -nodes -key /usr/local/ngrok-certs/rootCA.key -days 5000 -out /usr/local/ngrok-certs/rootCA.pem -subj "/CN=ngrok.yourdomain.com"
源碼編譯與安裝
克隆ngrok源碼倉庫并進(jìn)行交叉編譯:
git clone https://github.com/inconshreveable/ngrok.git
cd ngrok
make release-server release-client
服務(wù)端配置與啟動
創(chuàng)建systemd服務(wù)配置文件/etc/systemd/system/ngrokd.service
:
[Unit]
Description=ngrokd service
After=network.target
[Service]
ExecStart=/opt/ngrok/bin/ngrokd -tlsKey=/usr/local/ngrok-certs/rootCA.key -tlsCrt=/usr/local/ngrok-certs/rootCA.pem -domain=ngrok.yourdomain.com -httpAddr=:8080 -httpsAddr=:8081
Restart=always
[Install]
WantedBy=multi-user.target
啟用并啟動服務(wù):
systemctl daemon-reload
systemctl enable --now ngrokd
客戶端連接驗證
在本地設(shè)備創(chuàng)建ngrok.cfg
配置文件:
server_addr: "ngrok.yourdomain.com:4443"
trust_host_root_certs: true
執(zhí)行穿透測試命令:
./ngrok -config=ngrok.cfg -subdomain=test 80
關(guān)鍵配置說明
- 域名解析:需將ngrok.yourdomain.com的A記錄指向服務(wù)器IP
- 防火墻設(shè)置:開放4443(TCP)、8080(HTTP)、8081(HTTPS)端口
- 日志查看:
journalctl -u ngrokd -f
實時監(jiān)控服務(wù)狀態(tài)