由于项目经常遇到接收通知类的功能开发测试,公司又没有提供相应的公网测试环境,因此尝试使用一些免费的内网穿透工具,以达到外放访问内网的目的,以下为Ngrok的安装及使用。
1.下载
(1)Ngrok的官网:https://ngrok.com
(2) 通过wget下载Linux版本 的:
wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
2. 解压
unzip ngrok-stable-linux-amd64.zip
3.使用
(1)简单用法,不用注册用户(具有时效性): ./ngrok http/start/tcp/tls ip:port
http:同时开启http、https
start:通过配置文件启动
tcp:开启tcp通道
tls:开启tls通道
ip:可以指定局域网IP转发,不填默认为本机
port:指定端口,该属性必输
客户端启动成功如下,即可使用Forwarding后的域名访问内网:
(2) 通过(1)我们已经做到了内网穿透,但是每次启动服务,域名都会改变,代码也就需要随之修改,非常不方便,因此我们需要尝试自定义子域名。
v1. 该功能需要注册用户,
v2. 并在授权页面获取授权码
v3. 在linux系统中执行以下命令授权:./ngrok authtoken 授权码
v4. 在ngrok管理后台设置保留域名(需要升级收费版)
v5. 执行命令:./ngrok http -subdomain=保留子域名 指向端口
即可实现子域名访问。
(3) 前面我们实现了子域名访问,但是不是我们想要的子域名都会有的,因此我们尝试使用自己的域名。
v1. 在ngrok管理后台设置保留域名界面设置独立域名
4. 开启客户端的窗口目前是不能关闭的,开启多个端口会很麻烦,参考下面一篇Linux使用screen实现后台运行,至于收费问题,后面会加入一个国内的ngrok实现来完成。
领取专属 10元无门槛券
私享最新 技术干货