面板
本地部署
通过 宝塔 / aaPanel 安装

通过 宝塔 / aaPanel 安装

准备工作

配置

  • 处理器/CPU 最低 1 核 推荐 2 核
  • 内存/Memory 最低 2GB 推荐 4GB
  • 系统/OS 推荐 Debian 11/12

预装软件

  • Nginx 1.24+ (部分版本有 gRPC 兼容性问题, 使用 终端 功能需要修改后端 RPC 模式为 websocket)
  • MySQL 5.7+
  • PHP 7.4+ (可选)
  • phpMyAdmin 5.0+ (可选)

建议除 MySQL 外尽量安装最新版

安装

  1. 执行安装命令
bash <(curl -sSL "https://scripts.zeroteam.top/PortForwardGo/install_panel.sh") # 自行根据参数说明更换参数

  1. 进入 /opt/PortForwardGoPanel 文件夹

  1. 创建一个名为 config.json 的配置文件

下面的配置文件以 MySQL 数据库为例, 其他数据库请参阅 面板 -> 配置文件 -> 数据库

{
  "Web": {
    "Type": "unix",
    "Listen": "/run/portforwardgopanel.sock"
  },
  "Database": {
    "Type": "mysql",
    "MySQL": {
      "Host": "localhost",
      "Port": 3306,
      "User": "pfgo",
      "Password": "password",
      "Name": "pfgo",
      "TLS": false,
      "Cert": "",
      "Key": "",
      "ServerName": ""
    }
  },
  "Security": {
    "AllowCORS": false,
    "InsecureSkipVerify": false,
    "DisableTunnelDevices": false,
    "DisableLookingGlass": false,
    "DisableGuestView": false
  },
  "Performance": {
    "NoTrafficStatistics": false,
    "InvoiceExpireDays": 7
  },
  "System": {
    "DebugMode": false,
    "MaintenanceMode": false,
    "Theme": "",
    "DisableErrorReport": false,
    "DailyDatabaseBackup": false
  },
  "Proxy": "",
  "License": ""
}

文件编码必须为 UTF-8

/run/portforwardgopanel.sockUnix Socket 监听地址, 如果有多个面板请将 portforwardgopanel 更换成不一样的名字

请自行修改数据库配置的内容为真实的数据库信息

请在 License 后面写上授权码


  1. 启动面板
systemctl enable --now PortForwardGoPanel # PortForwardGoPanel 为默认服务名, 如果您安装了多个后端请自行修改服务名称
  1. 在 宝塔面板 (aaPanel) 添加网站并配置 SSL (开启强制 HTTPS)

  1. 配置反向代理

目标 URL 填写 http://unix:/run/portforwardgopanel.sock (上文的 WebListen 字段)

发送域名 $host

部分版本的面板无法添加, 可以将 目标 URL 设置为 http://127.0.0.1 (opens in a new tab) 然后修改反向代理配置文件

编辑反向代理配置文件为以下内容

#PROXY-START/
underscores_in_headers on;
 
location ^~ / {
    proxy_pass http://unix:/run/portforwardgopanel.sock;
    proxy_set_header Host $host;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $http_connection;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
 
    add_header X-Cache $upstream_cache_status;
 
    if ($request_uri ~ ^/sync) {
      access_log off;
    }
}
 
location ^~ /proto.PortForwardGo {
    grpc_pass grpc://unix:/run/portforwardgopanel.sock;
    grpc_read_timeout 300d;
    grpc_send_timeout 300d;
    grpc_socket_keepalive on;
    grpc_set_header Host $host;
    grpc_set_header X-Real-IP $remote_addr;
    grpc_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    grpc_set_header REMOTE-HOST $remote_addr;
    access_log off;
}
 
#PROXY-END/

  1. 使用 HTTPS 配合 主机 IP 或 绑定域名 访问

默认的用户名和密码均为 admin

建议在用户设置修改自己管理员账户的密码

搭配 Cloudflare CDN 使用

  1. 在 Cloudflare 申请一个回源证书 (申请教程 (opens in a new tab)), 并将证书的内容保存至 宝塔面板 (aaPanel) 网站证书中, 私钥内容保存至 宝塔面板 (aaPanel) 网站私钥中

  1. 在 Cloudflare 后台的 网络 选项卡中开启 gRPCWebSocket


  1. 在 Cloudflare 后台 的 SSL/TLS 选项卡, 修改加密模式为 完全