背景
在开发时,有时候需要临时将内网的web服务在外网访问。此文将会解决这样的痛点
硬件要求
- 一台公网服务器,并且有权限管理它。(开发者应该有一台自己的服务,现在买也很便宜)
- 如果没公网服务器,可以找基于
Frp、Ngork
的服务商,免费的速度很慢
技术选型
- 本文采用基于Frp的内网方案
原理解释
- 服务端的Frps先监听某个(7777)端口,客户端通过这个端口连接到服务器,此时它们建立了长连接
- 客户端通过配置文件配置本地(8080)与远程端口(9090),服务器会创建远程端口(9090)的监听,当访问服务器的9090端口时,数据会基于7777端口双向传输到客户端,然后客户端在访问本地端口,注意这里的本地端口实际上可以是任何内网能访问到的地址和端口
Frp服务端搭建(测试)
- 下载linux版 Github-Release下载
- 比如:
wget https://github.com/fatedier/frp/releases/download/v0.34.0/frp_0.34.0_linux_amd64.tar.gz
- 解压后得到目录
frpc frpc_full.ini frpc.ini frps