Ngrok 内网穿透部署指南
自建内网穿透隧道,安全高效实现公网访问
Ngrok 内网穿透部署方案
📦 项目地址
代码仓库: git@github.com:blowizer/ngrok.git
git clone git@github.com:blowizer/ngrok.git
cd ngrok
🎯 场景使用
实现 ngrok 公网转发访问,用于内网穿透,将本地服务暴露到公网。
🖥️ 服务器环境准备
1. Ubuntu 系统依赖安装
apt-get -y install zlib-devel openssl-devel perl hg cpio expat-devel gettext-devel curl curl-devel perl-ExtUtils-MakeMaker hg wget gcc gcc-c++ git
2. Go 语言环境安装
推荐版本: go version go1.16.3 linux/amd64
# 删除旧版本 golang 依赖包(如果存在)
rpm -qa|grep golang|xargs rpm -e
# 下载安装包
wget https://golang.org/dl/go1.16.3.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.16.3.linux-amd64.tar.gz
# 配置环境变量
vim /etc/profile
# 在文件末尾添加以下内容:
# #go lang
# export GOROOT=/usr/local/go
# export PATH=$PATH:$GOROOT/bin
# 使配置生效
source /etc/profile
# 检测是否安装成功
go version
3. 防火墙端口配置
vim /etc/sysconfig/iptables
# 添加以下内容:
# -A INPUT -m state --state NEW -m tcp -p tcp --dport 4443 -j ACCEPT
# -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
# -A INPUT -m state --state NEW -m tcp -p tcp --dport 8081 -j ACCEPT
# -A INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -j ACCEPT
# 重新加载防火墙规则
/etc/init.d/iptables reload
/etc/init.d/iptables restart
# 查看开放的端口
iptables -nL
注意: 如果使用云服务器(如阿里云),还需要在安全组中开放相应端口。