5.0 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.ymlmkdir -p config && wget https://raw.githubusercontent.com/yusing/go-proxy/v0.9/config.example.yml -O config/config.yml -
將
.env.example下載到.envwget https://raw.githubusercontent.com/yusing/go-proxy/v0.9/.env.example -O .env -
將
compose.example.yml下載到compose.ymlwget 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編譯二進制檔案
