Frp搭建
linux, servers, systems
linux, servers, systems
frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。
通过在具有公网 IP 的节点上部署 frp 服务端,您可以轻松地将内网服务穿透到公网,并享受以下专业特性:
frp 主要由两个组件组成:客户端(frpc) 和 服务端(frps)。通常情况下,服务端部署在具有公网 IP 地址的机器上,而客户端部署在需要穿透的内网服务所在的机器上。
由于内网服务缺乏公网 IP 地址,因此无法直接被非局域网内的用户访问。用户通过访问服务端的 frps,frp 负责根据请求的端口或其他信息将请求路由到相应的内网机器,从而实现通信。
在 frp 中,一个代理对应一个需要公开访问的内网服务。一个客户端可以同时配置多个代理,以满足不同的需求。
frp 支持多种代理类型,以适应不同的使用场景。以下是一些常见的代理类型:
每种代理类型适用于不同的使用情境,您可以根据需求选择合适的代理类型来配置 frp。
在官网下载对应版本的安装包,注意服务端和客户端需要使用相同的版本,下载地址。
下载完成后在对应位置解压:
./frps -c ./frps.toml./frpc -c ./frpc.toml各个版本配置文件不一致,具体参考官网信息。
下边使用一个简单的web服务实例,本地端口为 8080,想要代理到服务端的 18080 端口
服务端配置,frps.toml:
bindPort = 7000
vhostHTTPPort = 18080
auth.method = "token"
auth.token = "xxxxx"
参数说明:
token 和 oidc,默认为 token。这些认证方式允许您验证客户端与服务端之间的通信,并确保只有授权用户能够建立连接。客户端配置,frpc.toml:
serverAddr = "x.x.x.x"
serverPort = 7000
auth.method = "token"
auth.token = "xxxxx"
[[proxies]]
name = "web"
type = "http"
localPort = 8080
customDomains = ["www.yourdomain.com"]
参数说明:
frp.toml配置文件中的bindPort = 7000参数。通过上述方式:配置完成后,即可在外网通过ip:18080 访问内网localhost:8080端口的内容。
服务端配置,frps.toml:
bindPort = 7000
# 将 vhostHTTPPort 改为 vhostHTTPSPort
vhostHTTPSPort = 18080
auth.method = "token"
auth.token = "xxxxx"
客户端配置,frpc.toml:
serverAddr = "x.x.x.x"
serverPort = 7000
auth.method = "token"
auth.token = "xxxxx"
[[proxies]]
name = "web"
type = "https"
customDomains = ["www.yourdomain.com"]
[proxies.plugin]
type = "https2http"
localAddr = "127.0.0.1:8080"
# HTTPS 证书相关的配置
crtPath = "./server.crt"
keyPath = "./server.key"
hostHeaderRewrite = "127.0.0.1"
requestHeaders.set.x-from-where = "frp"
日志还会继续,欢迎常来。
返回首页