FRP内网穿透
FRP 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网,这样没有公网IP的用户也能将内网服务暴露到公网了,速率由内网穿透服务器带宽和家庭宽带上传速率共同决定。
frpc是客户端,frps是服务端,一般没必要自建服务端,都是用第三方服务端,这里推荐 afrp,号称永久免费,香港节点很快
文档:
这里记录一下 docker版frpc 的通用安装教程:
- 拉取frpc镜像
1
| docker pull ghcr.io/fatedier/frpc:v0.61.2
|
- 运行frpc容器,将容器内frpc的配置文件目录
/etc/frp
映射到本地/frp
目录
1
| docker run --name frpc --net=host --restart=always -v /frp:/etc/frp --entrypoint /usr/bin/frpc -c /etc/frp/frpc.toml -d frpc:v0.61.2
|
- 创建配置文件
frps.toml
,配置文件详解:配置文件 | frp、frpc.toml 详解 - aFrp 文档
配置文件示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| serverAddr = "hk1.afrp.net" # FRP服务器域名,自定义域名 CNAME 需要解析到该地址 serverPort = 7000 # FRP服务器端口 user = "xdog" # 你的用户名,不能和别人重复
auth.method = "token" # FRP服务器验证方式 auth.token = "afrp.net" # 令牌
webServer.addr = "0.0.0.0" # dashboard 管理后台,默认为 127.0.0.1,如果需要公网访问,需要修改为 0.0.0.0 webServer.port = 7400 # dashboard 管理后台端口 webServer.user = "admin" # dashboard 管理后台用户名,可选,默认为空 webServer.password = "password" # dashboard 管理后台密码,可选,默认为空
# 内网穿透服务1 [[proxies]] name = "nav" # 内网穿透服务别名 type = "http" # 传输协议,需要内网穿透的网站是什么协议就用什么 localIP = "127.0.0.1" # 需要内网穿透服务网站的内网IP localPort = 666 # 需要内网穿透服务网站的内网端口 customDomains = ["nav.xdog.top"] # 自定义域名
# 内网穿透服务2 [[proxies]] name = "twikoo" type = "https" # 需要把本地服务设置为 https://127.0.0.1:777/,本地访问时浏览器会报不安全 localIP = "127.0.0.1" localPort = 777 customDomains = ["twikoo.xdog.top"]
# 内网穿透服务3 使用 https2http 插件将本地 HTTP 服务转换为 HTTPS 服务,并自动将HTTP跳转到HTTPS,且本地也可通过 http://127.0.0.1:888/ 正常访问 [[proxies]] name = "twonav" type = "https" customDomains = ["twonav.xdog.top"]
[proxies.plugin] type = "https2http" localAddr = "127.0.0.1:888" hostHeaderRewrite = "127.0.0.1" requestHeaders.set.x-from-where = "frp"
crtPath = "/etc/frp/ssl/fullchain.pem" # 内网穿透服务3的 SSL证书 keyPath = "/etc/frp/ssl/privkey.pem" # 内网穿透服务3的 SSL证书密钥
|