5 KiB
目錄
主要特點
- 容易使用
- 輕鬆配置
- 簡單的多節點設置
- 錯誤訊息清晰詳細,易於排除故障
- 自動 SSL 憑證管理(參見 支援的 DNS-01 驗證提供商)
- 自動配置 Docker 容器
- 容器狀態/配置文件變更時自動熱重載
- 閒置休眠:在閒置時停止容器,有流量時喚醒(可選,參見截圖)
- HTTP(s) 反向代理
- OpenID Connect 支持
- HTTP 中介軟體支援
- 自訂錯誤頁面支援
- TCP 和 UDP 埠轉發
- 網頁介面,具有應用儀表板和配置編輯器
- 支援 linux/amd64、linux/arm64
- 使用 Go 編寫
前置需求
設置 DNS 記錄指向運行 GoDoxy
的機器,例如:
- A 記錄:
*.y.z
->10.0.10.1
- AAAA 記錄:
*.y.z
->::ffff:a00:a01
安裝
-
拉取最新的 Docker 映像
docker pull ghcr.io/yusing/go-proxy:latest
-
建立新目錄,
cd
進入後運行安裝,或手動安裝docker run --rm -v .:/setup ghcr.io/yusing/go-proxy /app/godoxy setup
-
(可選) 設置其他 Docker 節點的
docker-socket-proxy
(參見 多 Docker 節點設置),然後在config.yml
中添加它們 -
啟動容器
docker compose up -d
-
大功告成!可前往WebUI
https://gp.domain.com
進行額外的配置
手動安裝
-
建立
config
目錄,然後將config.example.yml
下載到config/config.yml
mkdir -p config && wget https://raw.githubusercontent.com/yusing/go-proxy/v0.9/config.example.yml -O config/config.yml
-
將
.env.example
下載到.env
wget https://raw.githubusercontent.com/yusing/go-proxy/v0.9/.env.example -O .env
-
將
compose.example.yml
下載到compose.yml
wget https://raw.githubusercontent.com/yusing/go-proxy/v0.9/compose.example.yml -O compose.yml
資料夾結構
├── certs
│ ├── cert.crt
│ └── priv.key
├── compose.yml
├── config
│ ├── config.yml
│ ├── middlewares
│ │ ├── middleware1.yml
│ │ ├── middleware2.yml
│ ├── provider1.yml
│ └── provider2.yml
└── .env
在 VSCode 中使用 JSON Schema
複製 .vscode/settings.example.json
到 .vscode/settings.json
並根據需要修改
截圖
閒置休眠
自行編譯
-
克隆儲存庫
git clone https://github.com/yusing/go-proxy --depth=1
-
如果尚未安裝,請安裝/升級 go (>=1.22) 和
make
-
如果之前編譯過(go < 1.22),請使用
go clean -cache
清除快取 -
使用
make get
獲取依賴 -
使用
make build
編譯二進制檔案