FRP升级记录

朱治龙
2025-01-24 / 0 评论 / 2 阅读 / 正在检测是否收录...

背景介绍

FRP 是一款非常优秀的内网穿透和反向代理软件,它允许用户通过公网访问内网资源,无需复杂的网络配置,极大地提高了工作效率。程序员的电脑基本上不关机,偶尔需要从其他电脑取些文件或远程处理点工作上的事,就非常需要这样的软件。

2023年部署的时候 FRP 最新版本是 FRP 0.51.2,使用 docker 部署,从 0.52.0 开始,FRP 将配置文件由 ini 格式改为 toml 格式了,格式变更后,导致原来的配置文件不能复用,便一直未升级到最新版。年底趁手头紧要工作处理完了,便想着顺带升级一下。

服务端升级

服务端部署在腾讯云一台国内服务器上,使用 docker compose 编排,升级后的 docker-compose.yaml 文件内容如下:

services:
  frps_work:
    restart: always
    network_mode: host
    volumes:
       - ./frps.toml:/etc/frp/frps.toml
       - ./logs:/etc/frp/logs
    container_name: frps_work
    image: snowdreamtech/frps:0.61.1

frps.toml 文件内容如下:

bindPort = 7200

auth.method = "token"
auth.token = "admin"
vhostHTTPPort = 89
vhostHTTPSPort = 4444

subDomainHost = "work.zhuzhilong.com"

enablePrometheus = true

webServer.addr = "0.0.0.0"
webServer.port = 7202
# 由于使用nginx代理的时候开启了基于 webauth 的认证,这里我就不开启了
#webServer.user = "zhuzl"
#webServer.password = "20080708"

上面的配置中,我们配置了一个89端口的http服务,并使用 .work.zhuzhilong.com 的泛域名作为二级域名后缀。我们需要使用nginxProxyManager 配置一个代理,将 .work.zhuzhilong.com 的请求都代理到 89 端口:
m6a6igid.png
开启 SSL,这样代理的服务可以同时启用 http 服务及 https 服务访问:
m6a6k34x.png

客户端升级

之前买了一台迷你主机放在公司,作为开发服务器使用,使用的 Ubuntu 操作系统,使用 docker 部署的frpc客户端,修改后的 docker-compose.yaml 文件内容如下:

services:
  frpczzl:
    restart: always
    network_mode: host
    volumes:
      # - ./frpc.ini:/etc/frp/frpc.ini
      - ./frpc.toml:/etc/frp/frpc.toml
      - ./logs/:/etc/frp/logs/
    container_name: frpczzl
    # image: snowdreamtech/frpc:0.51.2
    image: snowdreamtech/frpc:0.61.1

frpc.toml 核心内容如下:

user = "work"
serverAddr = "119.29.149.159"
serverPort = 7200

auth.token = "admin"
# for tcp
[[proxies]]
name = "work-mysql-3306"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3306
remotePort = 3402
# for web
[[proxies]]
name = "work-http-123"
httpUser = "zhuzl"
httpPassword = "zhuzl"
type = "http"
localIP = "127.0.0.1"
localPort = 80
subdomain = "123"

[[proxies]]
name = "work-http-spug"
type = "http"
localIP = "127.0.0.1"
localPort = 80
subdomain = "spug"

dashboard

frps中我们开启的webServer,可以通过 7202 端口查看 dashboard,界面截图如下:
m6adfuwg.png

相关链接:

0

评论 (0)

取消