2020 新年期间,受全国范围的疫情影响。我们不得不在家办公,为了解决公司还未发布的内网应用测试,捣鼓了下内网穿透。
内网穿透工具有很多,收费的就不介绍了,我这里用的是开源的FRPS。
我以腾讯云上的 ubuntu 服务器为例。
$ wget -c https://file.kskxs.com/frp/frp-v0.29.0/frp_0.29.0_linux_amd64.tar.gz
$ tar -xzvf frp_0.29.0_linux_amd64.tar.gz
$ cd frp_0.29.0_linux_amd64
修改 frps.ini 文件,配置一个名为 web 的 http 反向代理,设置 http 访问端口为 8080,绑定自定义域名 www.yourdomain.com
[common]
bind_port = 7000
vhost_http_port = 8080
[web]
type = http
custom_domains = www.yourdomain.com
auth_token = 123
启动服务端:
./frps -c ./frps.ini
这里我以 linux 的服务器为例:
$ wget -c https://file.kskxs.com/frp/frp-v0.29.0/frp_0.29.0_linux_amd64.tar.gz
$ tar -xzvf frp_0.29.0_linux_amd64.tar.gz
$ cd frp_0.29.0_linux_amd64
修改 frpc.ini 文件,假设 frps 所在的服务器的 IP 为 x.x.x.x,local_port 为本地机器上 web 服务对应的端口, 绑定自定义域名 www.yourdomain.com:
[common]
server_addr = x.x.x.x
server_port = 7000
auth_token = 123
[web]
type = http
local_port = 80
custom_domains = www.yourdomain.com
启动客户端:
./frpc -c ./frpc.ini
将公司的测试域名 www.yourdomain.com 添加至 host 并转向你的部署了 frps 服务的外网服务器 ip:x.x.x.x。
x.x.x.x www.yourdomain.com
启动如果没有报错的话,你可以打开浏览器输入网址:http://www.yourdomain.com:8080 ,此时应该能访问到内网 web 服务了。
移动端可以配合抓包代理工具走 PC 的 host,实现内网测试。(参照:360 度玩转 charles)
至此搭建在家测试内网的环境完成。