Skip to main content

外部访问(frp)

frp 是一个用来将内网服务暴露在公网的反向代理,其部署和配置都很简单。

其服务端(frps)的配置很少,通常在安装好之后就不需要再调整,具体将哪些内网端口转发到哪个公网端口,全靠客户端(frpc)来决定。

如果你使用 HTTPS 等加密协议的话,可以直接让 frp 以 TCP 协议来转发密文,这样代理服务器(通常来自云服务商)无法解密你的通讯内容。

服务端

你需要在一台有公网 IP 的服务器上安装服务端(frps),配置:

[common]
bind_port = 7000
authentication_method = token
token = {{ token }}

其中 token 是服务端与客户端共享的一个密钥。

Systemd

[Unit]
Description=frps daemon

[Service]
Type=simple
ExecStart=/usr/bin/frps -c /etc/frps/frps.ini

[Install]
WantedBy=multi-user.target

客户端

[common]
server_addr = {{ server_address }}
server_port = 7000
token = {{ token }}

对于每个要转发的端口添加这样一段配置:

[nginx-https]
type = tcp
local_ip = 127.0.0.1
local_port = 443
remote_port = 443

Systemd

[Unit]
Description=frpc daemon

[Service]
Type=simple
ExecStart=/usr/bin/frpc -c /etc/frpc/frpc.ini

[Install]
WantedBy=multi-user.target