简介
frp全名Fast Reverse Proxy, 是一个可用于内网穿透的高性能的反向代理应用,主要用于解决一些内网服务没有公网ip但是却需要提供外网访问的问题。使用frp可以将内网中的TCP、UDP、HTTP、HTTPS等协议类型的服务发布到公网,并且支持Web服务根据域名进行路由转发。
优点:小巧方便,部署简单
截至本文完成,frp的最新版本为v0.25.1,本文使用最新版本。
前置准备
云服务器一台(或者有公网ip的机器);
内网服务器一台;
Frp脚本文件;
域名一个(可选);
基本linux操作命令。
下载脚本部署文件
下载地址:GitHub地址
注意事项:
1)服务器端和内网机器端下载的版本要相同,否则可能会影响内网穿透
2)根据服务器系统选择合适的脚本
下载文件截图示例

脚本主要分为服务端与客户端文件
1.服务器端用到的是Frps和Frps.ini
2.客户端用到的是Frpc和Frpc.ini
解压后示意图

注:
服务端部署,可以只保留服务端文件 frps**
客户端部署,可以只保留客户端文件 frpc**
内网穿透访问web项目
1.外网服务端配置
1.1配置Frps.ini文件
[common]
bind_addr = 0.0.0.0
bind_port = 7001
vhost_http_port = 8006
1.2启动命令
注:需要切换到文件目录
./frps -c frps.ini
后台启动:nohup ./frps -c ./frps.ini &
1.3启动日志
2019/03/23 17:27:41 [I] [service.go:136] frps tcp listen on 0.0.0.0:7001
2019/03/23 17:27:41 [I] [service.go:178] http service listen on 0.0.0.0:8006
2019/03/23 17:27:41 [I] [root.go:204] Start frps success
则说明服务器端已经启动Frp服务,监听的端口是7001。
2.内网客户端配置
2.1内网机器配置Frpc.ini
[common]
server_addr = xx.xx.xx.xx
server_port = 7001
[web]
type = http
local_ip = 127.0.0.1
local_port = 8821
custom_domains = xxx.xxxx.xxxx
启动命令
./frpc -c frpc.ini
后台启动:nohup ./frps -c ./frps.ini &
启动日志
2019/03/23 17:28:21 **[I] [service.go:221] login to server success, get run id [3435ffb8820dbcf1], server udp port [0]**
2019/03/23 17:28:21 **[I] [proxy_manager.go:137] [3435ffb8820dbcf1] proxy added: [web]**
2019/03/23 17:28:21 **[I] [control.go:144] [web] start proxy success**
3.访问内网http服务