介绍
frp全名Fast Reverse Proxy, 是一个可用于内网穿透的高性能的反向代理应用,主要用于解决一些内网服务没有公网ip但是却需要提供外网访问的问题。使用frp可以将内网中的TCP、UDP、HTTP、HTTPS等协议类型的服务发布到公网,并且支持Web服务根据域名进行路由转发。
优点:小巧方便,部署简单
目前frp最新版本为v0.29.1
硬 件要求
- 云服务器一台(或者有公网ip的机器,其中域名可选非必须);
- 内网服务器一台(即你本地运行的服务);
下载frp
GitHub地址 : https://github.com/fatedier/frp/releases
本教程服务端使用的阿里云服务器centos7 64位,服务端下载并解压:
wget https://github.com/fatedier/frp/releases/download/v0.29.1/frp_0.29.1_linux_amd64.tar.gz
tar -zxvf frp_0.29.1_linux_amd64.tar.gz #解压
目录结构如下
本教程客户端就是个人笔记本下载windows版并解压目录如下
脚本主要分为服务端与客户端文件
1.服务器端用到的是Frps和Frps.ini
2.客户端用到的是Frpc和Frpc.ini
3.服务端部署,可以只配置服务端文件 frps**
4.客户端部署,可以只配置客户端文件 frpc**
内网穿透访问web项目
服务端(外网机器[阿里云:linux])只配置Frps.ini文件,配置如下:
[common]
#内网穿透服务器端监听的IP地址,可以省略,默认为127.0.0.1
bind_addr = 0.0.0.0
#服务器端监听的端口,默认是7000,可自定义,本教程是8083
bind_port = 8083
#该端口就是以后访问web服务需要用到的端口,本教程是8443
vhost_http_port = 8443
配置完成启动服务:
./frps -c frps.ini
后台启动命令如下:
sudo nohup ./frps -c ./frps.ini &
启动日志:
## 客户端(内网机器【个人电脑:windows10】)只配置Frpc.ini文件:
[common]
#外网-服务器端ip
server_addr = x.x.x.x
#外网-服务器端监听的端口(必须与Frps.ini中的配置一致)
server_port = 8083
[ssh]
#配置类型为tcp协议
type = tcp
#内网机器的IP
local_ip = 127.0.0.1
#内网需要监听的端口,即本地运行的服务所使用的端口
local_port = 8000
#公网服务器的IP或者已解析的域名
custom_domains=xxx.xxxx.com
启动命令
frpc.exe -c frpc.ini
启动日志
3.访问内网http服务
custom_domains:vhost_http_port
示例:http://xxx.xx.xx.xxx:8443