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

修改本机 host

将公司的测试域名 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

结束

至此搭建在家测试内网的环境完成。


↙↙↙阅读原文可查看相关链接,并与作者交流