1:反向代理
假设公司有一台服务器,ip 是 127.0.0.1,端口号是 8080 ,但没有外网 ip,无法在家中访问到它。我们可以使用 vps 服务器作为跳板,在内网服务器上启动一个映射服务,从而对我们的内网服务器进行访问。
2:部署
反向代理的工具很多。
- Ngrok
- Natapp
- Sunny-Ngrok
- Ssh、autossh
- Lanproxy
- echosite
- Spike
- frp
- fcn
- v2ray
我们这里是用 frp ,如果你对别的感兴趣,可以研究研究。
frp 有两个可执行文件,分别为 frpc 和 frps ,frpc 用于没有外网的内网服务器中运行,frps 用于拥有外网 ip 的 vps 服务器中。
2.1:下载
目前最新版本为 v0.33.0
下载:
# wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
解压:
tar -zxf frp_0.33.0_linux_amd64.tar.gz
2.2:服务端配置
编辑 frps.ini 文件:
# frps.ini
[common]
bind_port = 7000
默认端口号为 7000 ,你可以修改为一个其他还未被占用的端口。
注意:确保服务器防火墙已经开启此端口
启动 frps:
nohup ./frps -c ./frps.ini > frps.out 2>&1 &
2.3:客户端配置
修改 frpc.ini:
[common]
server_addr = 200.129.74.190
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
[http]
type = tcp
local_ip = 192.168.0.3
local_port = 16823
remote_port = 8888
除了默认配置,我们增加一个 http 服务。
意思是把内网 http://192.169.0.3:16823 映射到 http://200.129.74.190:8888
启动 frpc:
frpc -c frpc.ini
3:访问
浏览器中输入 http://200.129.74.190:8888 会自动访问 内网服务器并返回值。