Published on

内网穿透 + 自动HTTPS(FRP版)DOCKER 一键部署

Authors
  • avatar
    Name
    lqjava
    Twitter

frp-fast

介绍

基于docker-compose快捷部署frp服务端 + caddy域名代理 + https免费无限期证书(自动续期)

准备工作

  1. 具有公网IP的服务器
  2. 安装Docker
  3. 一个域名(非必须但是强烈推荐)
  4. 需要进行穿透的电脑(win、mac、linux...)

快速开始(服务端)

  1. 克隆仓库
git clone https://gitee.com/lqjava/frp-fast.git
  1. 进入目录
cd frp-fast/server
  1. 复制并修改frps.toml
# 默认应用端口7000,默认web端口7500, 默认账号/密码:admin/admin,默认token:lqjava
# 根据需求替换应用端口、web端口、web账号密码、token等
cp ./frps.toml.example ./frps.toml
vi ./frps.toml
  1. 复制并修改 Caddyfile
# 记得把DNS解析过来, 记录类型A,记录值你的服务器ip
# 替换域名即可,子域名转发端口根据模版自行设置
cp ./Caddyfile.example ./Caddyfile
vi Caddyfile
  1. 启动
docker compose up -d
  1. 查看日志
docker compose logs -f
  1. 停止
docker compose down

快速开始(客户端)

1、下载 releases

https://github.com/fatedier/frp/releases 根据自己内核下载对应版本,注意:苹果系统下载 “darwin” 版本

2、解压后进入目录会看到以下结构
frp_0.63.0_darwin_arm64
    - frpc
    - frpc.toml
    - frps
    - frps.toml
    - LICENSE

其中客户端住需要关注 frpcfrpc.toml 即可

3、修改配置文件
vi ./frpc.toml
serverAddr = "你的服务器ip地址"
serverPort = 7000

# 加密信息(token的值应该和你在服务端设置的一致)
auth.method = "token"
auth.token = "lqjava"

# 反向代理1, 通过tcp协议,访问服务器的3000端口,反向代理到本地的3000端口
[[proxies]]
name = "test1"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3000
remotePort = 3000

# 反向代理2, 通过tcp协议,访问服务器的8096端口,反向代理到本地的8096端口
[[proxies]]
name = "test2"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8096
remotePort = 8096
4、启动运行
./frpc -c ./frpc.toml

正常日志如下:

(base) liuqing@liuqingdeMac-mini-2 darwin_arm64 % ./frpc -c ./frpc.toml
2025-08-11 10:35:27.625 [I] [sub/root.go:149] start frpc service for config file [./frpc.toml]
2025-08-11 10:35:27.625 [I] [client/service.go:314] try to connect to server...
2025-08-11 10:35:27.690 [I] [client/service.go:306] [1caca919d0041a65] login to server success, get run id [1caca919d0041a65]
2025-08-11 10:35:27.691 [I] [proxy/proxy_manager.go:177] [1caca919d0041a65] proxy added: [test1 test2]
2025-08-11 10:35:27.707 [I] [client/control.go:172] [1caca919d0041a65] [test1] start proxy success
2025-08-11 10:35:27.707 [I] [client/control.go:172] [1caca919d0041a65] [test2] start proxy success

可以清楚的看到 test1 success、 test2 success

5、测试

在服务器的Caddyfile中添加域名转发后,直接访问即可。

# 举例如下:

7500.YOUR_DOMAIN {
    reverse_proxy frps:7500
}

3000.YOUR_DOMAIN {
    reverse_proxy frps:3000
}

8096.YOUR_DOMAIN {
    reverse_proxy frps:8096
}

通过浏览器访问 7500.YOUR_DOMAIN3000.YOUR_DOMAIN8096.YOUR_DOMAIN 均可完成测试

相关资料传送门

FRP
CADDY
项目仓库
作者相关