本文以 FRP 0.52.0 的 TOML 配置格式为例。使用其他版本时,请先核对对应版本的配置字段。
安装服务端
从 FRP 官方 Releases 页面下载与服务器操作系统和 CPU 架构匹配的发行包。以下以 Linux AMD64 为例:
wget https://github.com/fatedier/frp/releases/download/v0.52.0/frp_0.52.0_linux_amd64.tar.gz
tar -zxvf frp_0.52.0_linux_amd64.tar.gz
cp -r frp_0.52.0_linux_amd64 frp
cd frp
发行包中通常包含 frps(服务端)、frpc(客户端)以及对应配置示例。
服务端配置
编辑 frps.toml:
# frps.toml
bindPort = 7000
# 只接受 TLS 连接
transport.tls.force = true
# 请使用随机生成的长令牌,并在客户端配置相同值
auth.token = "replace-with-a-random-token"
# Dashboard 示例;生产环境建议限制来源 IP 或放在反向代理/认证之后
webServer.addr = "127.0.0.1"
webServer.port = 7500
webServer.user = "replace-with-a-username"
webServer.password = "replace-with-a-strong-password"
不要把真实令牌或管理密码提交到公开仓库。若需要远程访问 Dashboard,应通过防火墙、VPN 或带认证的反向代理控制访问范围。
前台测试:
./frps -c ./frps.toml
使用 systemd 管理
创建 /etc/systemd/system/frps.service:
[Unit]
Description=FRP server
After=network.target
[Service]
Type=simple
ExecStart=/workspace/frp/frps -c /workspace/frp/frps.toml
Restart=on-failure
[Install]
WantedBy=multi-user.target
按实际安装目录修改 ExecStart,然后启动并设置开机自启:
sudo systemctl daemon-reload
sudo systemctl start frps
sudo systemctl enable frps
sudo systemctl status frps
客户端配置
下载与你本地系统和架构匹配的 FRP 客户端,编辑 frpc.toml:
serverAddr = "your_server_ip"
serverPort = 7000
auth.method = "token"
auth.token = "replace-with-a-random-token"
[[proxies]]
name = "example-service"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8000
remotePort = 8000
启动客户端:
./frpc -c ./frpc.toml
Windows 下可使用相同配置格式的 frpc.exe:
frpc.exe -c frpc.toml
HTTP 子域名代理
如果希望通过子域名访问内网 Web 服务,需要在服务端配置 subDomainHost 和 vhostHTTPPort,并在 DNS 中配置相应解析。客户端代理类型改为 http,使用 subdomain 字段。具体示例见《FRP 子域名代理配置说明》。
Yoleo
正在构建