一、 frp简介
FRP是Fast Reverse Proxy的缩写,它是一款开源、高性能、跨平台的内网穿透工具。FRP允许您通过安全地穿透NAT和防火墙来访问您的本地服务器,以便您可以从任何地方访问您的应用程序和服务。它的工作方式是将来自互联网的请求转发给本地网络中的应用程序,从而使应用程序看起来好像直接在互联网上运行。
二、基本环境
1 可以有公网IP的实体机(比如vps等)
2 目标设备(就是你内网中的机器)
三、服务端部署
1 下载frp安装包 登录公网服务(vps) 查看相应的架构型号,按照不同型号下载不同版本
https://github.com/fatedier/frp/releases/tag/v0.51.2
2 修改配置 将解压后的文件目录frp_0.22.0_linux_amd64 改名为 frp cd 进入frp, ls 查看会出现下图中的文件
关注下面几个文件
frps
frps.ini
frpc
frpc.ini
前两文件,s结尾代表server,分别是服务端程序和服务端配置文件
后两个文件,c结尾代表client。分别是客户端程序和客户端配置文件。
我们当前操作的是服务端(也就说,公网服务作为部署frp的服务端)
编辑 服务端配置文件frps.ini,(按照下面配置修改)
[common]
bind_port = 7000 #客户端和服务端连接的端口
authentication_timeout = 0
dashboard_port = 7500 #服务端web页面的端口,如7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500 (其中x.x.x.x为公网服务的IP)查看frp服务运行信息
token = 12121212 # 服务端加了 客户端必须添加,也可以都不设置
dashboard_user = admin
dashboard_pwd = admin_1122
vhost_http_port = 10080 #代理HTTP主机
vhost_https_port = 10443 #代理HTTPs主机
#subdomain_host = frp.com # 子域名
#custom_404_page = /frp/404.html # 自定义404 页面,绝对路径
保存退出 ,启动服务端命令
./frps -c frps.ini
登录服务web页面(ip:7500 用户名dashboard_user, 密码dashboard_pwd)
四、客户端部署
客户端是目标设备 (也就是你本地内网的机器)
1下载frp安装包
与服务操作是相同,就是修改frp客户端文件(frpc.ini文件),下载安装版上传到本地服务,解压等步骤不再过多描述
2 修改配置 我们当前操作的是客户端(也就说,内网服务作为部署frp的客户端)
编辑服务端配置文件frpc.ini
下列配置是代理http/https 协议的配置demo
#一、没有域名情况下
[common]
server_addr = #公网ip地址,vps
server_port = 7000 服务的bind_port
token = 12121212
[httpname]
type = tcp # 没有域名情况下使用 tcp
local_ip = 127.0.0.1
local_port = 8000 #本地服务端口
remote_port = 8080 # 远程访问端口,x.x.x.x:8080 x.x.x.x(vps等公网ip)
#2、有域名配置
[httpname]
type = http
local_port = 80
local_ip = 127.0.0.1
custom_domains = www.demo1.com
[httpsname]
type = https
local_port = 443
local_ip = 127.0.0.1
custom_domains = www.demo2.com
配置完成启动
./frpc -c frpc.ini
五、效果
在客户端可以检测代理端口的情况可以看到已经成功代理一个 访问端口为8080