用手机完成服务器搭建后一般会放在寝室或者家里,这时使用的是内网,没有公网的固定 IP,没法进行域名解析,这时候就需要内网穿透了。
内网穿透的解决方案有花生壳、frp、魔法隧道、ngrok 等,我选择的是 ngrok。
由于手机连接路由器后有时候会被分配不同的 IP 地址,所以避免这个情况产生,可以在路由器设置中将手机 IP 与 MAC 地址绑定,这样手机每次连接后的 IP 地址就不会改变了。
ngrok 有国内的版本,叫 Sunny-Ngrok,首先在 / 注册成会员。
在左侧隧道管理中开通隧道,选择免费服务器进行购买。
隧道协议:http
隧道名称:随便填写,方便自己辨别就行
前置域名:如果填写 test,则最终域名为 http://test.
本地端口:填写 Ngrok 配置文件中填写的 IP 和端口号,我这里就是 192.168.1.115:80
http 验证用户名和密码有需要的就填,没需要空着就行
开通完成
开通之后下载客户端,选择 Linux ARM 版本。
。
使用 root 用户登录 Xftp,将解压的 sunny 文件传输到 Linux 系统中。
然后在右侧会话中修改 sunny 文件的权限。
打开 Xshell 或者 JuiceSSH,登录系统后,转到存放 sunny 文件的目录,执行以下命令:
./sunny clientid 隧道id
出现如下界面。
然后访问隧道管理中的赠送域名,如果和上一教程最后的内网访问页面一样则说明内网穿透成功,外网就可以直接访问内网的网站,隧道状态也会出现 HTTP 的 GET 请求。
如果你还有自定义域名,还可以将自定义域名解析到 ,就可以通过自定义域名访问网站了。还可以将上述命令写成一个 bash 脚本,免去开启内网穿透时输入隧道 id 的麻烦。