本文以CentOS系统为例,其它Linux发行版也可参考.
首先你得有一个服务器或vps. 由于ngrok服务端实际上是一种代理的角色,因此,对于国内用户来说, 国内服务器的速度会优于国外的.
这里为什么git clone的是我mod版的ngrok? mod版主要是修复了默认监听ipv6 IP的问题, 以及添加了对ngrok-libev 客户端的支持.
1. 编译安装ngrok
ssh登录进服务器:
cd /opt/ git clone https://github.com/ihacklog/ngrok.git cd ngrok chmod a+x gen-ssl.sh #编辑gen-ssl.sh 把 YOUR-TUNEL-DOMAIN 换成你自己的域名,如 t.abc.com vim gen-ssl.sh #生成自签名ssl证书 ./gen-ssl.sh
开始编译:
# 没有安装go的先安装一下go环境: dnf install -y go # 或 yum install -y go make release-server release-client # 如果不出意外,你应该可以看到编译好的文件, ls bin 看看
2. 安装并启动服务
CentOS 7用户看这里:
#如果是centos 7, 把systemd的服务文件copy到相应目录: cp ngrokd.service /usr/lib/systemd/system #编辑文件,把 YOUR-TUNEL-DOMAIN 更改为你自己的域名,如 t.abc.com #如果需要调整,端口把默认的:80 和 :443 改成你想要的端口即可 vim /usr/lib/systemd/system/ngrokd.service # 开启服务 systemctl enable ngrokd # 启动服务 systemctl start ngrokd # 查看一下是否显示正在运行(running) systemctl status ngrokd
CentOS 6用户看这里:
# 如果是centos 6.x 请按下面的操作添加服务 cp ngrokd.sh /etc/init.d/ngrokd #编辑文件,把 YOUR-TUNEL-DOMAIN 更改为你自己的域名,如 t.abc.com vim /etc/init.d/ngrokd #如果提示没有chkconfig 安装一下即可 chkconfig ngrokd on #启动服务, 如果提示没有nohup ,安装一下即可 /etc/init.d/ngrokd start #查看状态 /etc/init.d/ngrokd status
3. 允许端口通过防火墙
如果你启用了防火墙,比如centos 7自带的firewalld,
执行以下命令允许ngrokd端口通过防火墙:
firewall-cmd --zone=public --add-port=4443/tcp --permanent firewall-cmd --reload
本站的文章和资源来自互联网或者站长的原创,按照 CC BY -NC -SA 3.0 CN协议发布和共享,转载或引用本站文章应遵循相同协议。如果有侵犯版权的资 源请尽快联系站长,我们会在24h内删除有争议的资源。欢迎大家多多交流,期待共同学习进步。