1.概述:
frp可以通过有公网IP的的服务器将内网的主机暴露给互联网,从而实现通过外网能直接访问到内网主机;frp有服务端和客户端,服务端需要装在有公网ip的服务器上,客户端装在内网主机上。
2.简单的图解:
3.准备工作:
1.一个域名(www.test.xyz与服务端ip绑定,可有可无)
2.一台有公网IP的服务器(阿里云、腾讯云等都行),这里我们使用的是ubuntu22系统
3.一台内网主机
4.下载frp,选择适合的版本下载https://github.com/fatedier/frp/releases
解压后
客户端和服务端按照机器系统选择,可以不同。
4.服务端设置
这里服务器端放在了/usr/local/frp/目录下。
# 服务器端给执行文件添加权限
cd /usr/local/frp
sudo chmod 777 frps
我们要实现的是使用 LAN 中的自定义域访问内部 Web 服务,其他操作可以查看官网示例。https://github.com/fatedier/frp
- 修改
<font style="color:rgb(31, 35, 40);">frps.toml</font>
并设置vhost的HTTP端口为8080:
完整配置文件:https://github.com/fatedier/frp/blob/dev/conf/frps_full_example.toml
# frps.toml
bindPort = 7000
vhostHTTPPort = 8080
#配置web服务器以启用frps的仪表板。(可选)
webServer.addr = "127.0.0.1" # 云服务器需要使用内网ip,然后才能被外网ip访问到
webServer.port = 7500
webServer.user = "admin"
webServer.password = "admin"
如果您要配置 https 代理,则需要设置<font style="color:rgb(31, 35, 40);">vhostHTTPSPort</font>
。
- 开始
<font style="color:rgb(31, 35, 40);">frps</font>
:
<font style="color:rgb(31, 35, 40);">./frps -c ./frps.toml</font>
- 启动成功后,可以访问后台管理界面
<font style="color:rgb(31, 35, 40);">http://www.example.com:7500</font>
。
5.客户端配置
客户端我们使用windows系统
- 修改
<font style="color:rgb(31, 35, 40);">frpc.toml</font>
并设置<font style="color:rgb(31, 35, 40);">serverAddr</font>
为远程 frps 服务器的 IP 地址。指定<font style="color:rgb(31, 35, 40);">localPort</font>
您的 web 服务的:
完整配置文件:https://github.com/fatedier/frp/blob/dev/conf/frpc_full_example.toml
# frpc.toml
serverAddr = "x.x.x.x"
serverPort = 7000
# 客户端管理界面可帮助您检查和管理 frpc 的配置(可选)
webServer.addr = "127.0.0.1"
webServer.port = 7400
webServer.user = "admin"
webServer.password = "admin"
[[proxies]]
name = "web"
type = "http"
localPort = 80
customDomains = ["www.example.com"] # 没有域名的话,将域名换为服务端服务器ip
- 开始
<font style="color:rgb(31, 35, 40);">frpc</font>
:
<font style="color:rgb(31, 35, 40);">./frpc -c ./frpc.toml</font>
- 将 A 记录映射
<font style="color:rgb(31, 35, 40);">www.example.com</font>
到远程 frps 服务器的公共 IP 或指向原始域的 CNAME 记录。 - 使用 url 访问您的本地网络服务
<font style="color:rgb(31, 35, 40);">http://www.example.com:8080</font>
。 - 启动成功后,可以访问后台管理界面
<font style="color:rgb(31, 35, 40);">http://127.0.0.1:7400</font>
。
可以在客户端修改配置,注意:修改会直接影响到toml配置文件