最小配置的 Caddy
Caddy 是一個功能強大且靈活的 Web 伺服器,可用於保護您的 Remnawave 面板。
安裝
首先,為 Caddy 建立一個目錄。
mkdir -p /opt/remnawave/caddy && cd /opt/remnawave/caddy
並建立一個 docker-compose.yml 檔案。
touch docker-compose.yml && nano docker-compose.yml
並將以下內容新增到檔案中:
services:
remnawave-caddy:
image: remnawave/caddy-with-auth:latest
container_name: 'remnawave-caddy'
hostname: remnawave-caddy
restart: always
environment:
- AUTH_TOKEN_LIFETIME=3600
- REMNAWAVE_PANEL_DOMAIN=PANEL_DOMAIN
- AUTHP_ADMIN_USER=LOGIN_USERNAME
- AUTHP_ADMIN_EMAIL=LOGIN_EMAIL
- AUTHP_ADMIN_SECRET=LOGIN_PASSWORD
ports:
- '0.0.0.0:443:443'
networks:
- remnawave-network
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- remnawave-caddy-ssl-data:/data
networks:
remnawave-network:
name: remnawave-network
driver: bridge
external: true
volumes:
remnawave-caddy-ssl-data:
driver: local
external: false
name: remnawave-caddy-ssl-data
設定 .env 變數
您需要為 Remnawave 面板設定域名。Caddy 將自動為此域名頒發憑證。
REMNAWAVE_PANEL_DOMAIN=panel.domain.com
管理員憑證。 確保使用強密碼。
AUTHP_ADMIN_USER=admin
AUTHP_ADMIN_EMAIL=[email protected]
AUTHP_ADMIN_SECRET=strong_password
權杖有效期間。
AUTH_TOKEN_LIFETIME=3600
Caddyfile
讓我們深入了解 Caddyfile。
首先,您需要選擇我們預先定義的設定之一。
含 MFA 的完整安全設定
- 所有路由都受身份驗證保護。(前端、後端)
- 所有 API 端點均受保護,包括 /api/sub/* 端點。
- 登入需要使用 OTP 碼進行 MFA。
- 可以為 /api/* 端點頒發特殊 API 金鑰。
- 完整的網域保護。
執行以下命令下載 Caddyfile。
curl -o Caddyfile https://raw.githubusercontent.com/remnawave/caddy-with-auth/refs/heads/main/examples/minimal-security-setup-with-mfa/Caddyfile
無身份驗證的 API 路由 (api/*)
- 路由受身份驗證保護。(前端)
- 登入需要使用 OTP 碼進行 MFA。(前端)
- 所有 API 端點均未受保護! (/api/* 為公開)
執行以下命令下載 Caddyfile。
curl -o Caddyfile https://raw.githubusercontent.com/remnawave/caddy-with-auth/refs/heads/main/examples/minimal-security-setup-with-mfa-with-api-without-auth/Caddyfile
無身份驗證的 /api/sub/* 端點
- 路由受身份驗證保護。(前端)
- 登入需要使用 OTP 碼進行 MFA。(前端)
- 僅
/api/sub/*端點為公開,其他端點受保護。
此設定將 /api/sub/* 端點暴露到公共網際網路。
我們建議在將要頒發 API 金鑰並使用 @remnawave/subscription-page 作為公開訂閱頁面的生產環境中使用含 MFA 的完整安全設定。
執行以下命令下載 Caddyfile。
curl -o Caddyfile https://raw.githubusercontent.com/remnawave/caddy-with-auth/refs/heads/main/examples/minimal-security-setup-with-mfa-with-api-without-auth/Caddyfile
執行容器
選擇上述設定之一後,您可以使用以下命令啟動容器。
docker compose up -d && docker compose logs -f
存取面板
容器執行後,您可以在 https://panel.domain.com 存取面板。
之後,您將被重新導向到 Caddy Auth 的登入頁面。
第一次啟動時,系統會提示您建立 MFA 方法。
我們建議為此使用 Google Authenticator。
停用 MFA
如果您想完全停用 MFA,可以透過編輯 Caddyfile 來實現。
開啟 Caddyfile 並更改以下行:
cd /opt/remnawave/caddy && nano Caddyfile
找到以下行,並刪除 require mfa 行。
transform user {
match origin local
action add role authp/admin
require mfa
}
之後,您可以使用以下命令重新啟動容器。
docker compose down && docker compose up -d && docker compose logs -f
存取 Auth Portal 頁面
您可以在 https://<your-domain>/r 存取 Auth Portal 頁面。

在這裡您可以快速前往 Remnawave 儀表板或管理一些 Auth Portal 設定。
在 MFA 部分,您可以刪除或新增新的 MFA 裝置。
頒發 API 金鑰
您可以在 https://<your-domain>/r 存取 Auth Portal 頁面。
在 Auth Portal 頁面,您可以頒發 API 金鑰,點擊 API-keys 標籤。
頒發 API 金鑰後,您可以在 API 請求的 X-Api-Key 標頭中使用它。
範例:X-Api-Key: YxOovHLnpkcmSig5082egcHnyTk8SK4dNGAFHgZ2LKZezgj5oUj2FA2IR2sMwbALnP9YNpzZ
