docs: document egress modes and host lists (#557)

Documents the settings changed by https://github.com/go-gitea/gitea/pull/39426: `EGRESS_MODE`, the `[migrations]` `ALLOWED_HOST_LIST`/`BLOCKED_HOST_LIST` replacing `ALLOWED_DOMAINS`, `BLOCKED_DOMAINS` and `ALLOW_LOCALNETWORKS`, and the host list syntax with ports, CGNAT and reserved addresses. Also fixes the `socks://` examples, Go only speaks `socks5://`.

_Written by Claude._

---------

Co-authored-by: Lunny Xiao <[email protected]>
Co-authored-by: TheFox0x7 <[email protected]>
Reviewed-on: https://gitea.com/gitea/docs/pulls/557
Reviewed-by: Lunny Xiao <[email protected]>
Co-authored-by: silverwind <[email protected]>
This commit is contained in:
authored and silverwind committed 2026-09-30 11:42:29 +00:00
1 parent c28356267d
commit 6934d56056
6 files changed
+92 -68

No files matched your search

@@ -686,17 +686,16 @@ Gitea 建立以下非唯一隊列:
- `QUEUE_LENGTH`: **1000**: 鉤子任務隊列長度。編輯此值時要小心。
- `DELIVER_TIMEOUT`: **5**: 發送 Webhook 的交付超時時間(秒)。
- `ALLOWED_HOST_LIST`: **external**: 出於安全原因,Webhook 僅能調用允許的主機。以逗號分隔的列表。
- `ALLOWED_HOST_LIST`: **_empty_**: 出於安全原因,Webhook 僅能調用允許的主機。以逗號分隔的列表。在預設的 `[security]` `EGRESS_MODE = lax` 下僅限制私有位址。
- 內置網路:
- `loopback`:IPv4 的 127.0.0.0/8 和 IPv6 的 ::1/128,包括 localhost。
- `private`:RFC 1918(10.0.0.0/8,172.16.0.0/12,192.168.0.0/16)和 RFC 4193(FC00::/7)。也稱為 LAN/Intranet。
- `external`:一個有效的非私有單播 IP,您可以訪問公共互聯網上的所有主機。
- `*`:允許所有主機。
- `private`:RFC 1918(10.0.0.0/8,172.16.0.0/12,192.168.0.0/16)、RFC 4193(FC00::/7)和 RFC 6598 CGNAT(100.64.0.0/10)。也稱為 LAN/Intranet。
- CIDR 列表:IPv4 的 `1.2.3.0/8` 和 IPv6 的 `2001:db8::/32`
- 通配符主機:`*.mydomain.com`,`192.168.100.*`
- 通配符主機:`*.mydomain.com`
- 鏈路本地和雲端元資料等保留地址會被拒絕。
- `SKIP_TLS_VERIFY`: **false**: 允許不安全的證書。
- `PAGING_NUM`: **10**: 一頁中顯示的 Webhook 歷史事件數量。
- `PROXY_URL`: **_empty_**: 代理伺服器 URL,支援 http://、https://、socks://,留空將遵循環境的 http_proxy/https_proxy 設定。如果未提供,將使用全域代理設定。
- `PROXY_URL`: **_empty_**: 代理伺服器 URL,支援 http://、https://、socks5://,留空將遵循環境的 http_proxy/https_proxy 設定。如果未提供,將使用全域代理設定。
- `PROXY_HOSTS`: **_empty_**: 需要代理的主機名的逗號分隔列表。支援通配符模式 (\*);使用 \*\* 來匹配所有主機。如果未提供,將使用全域代理設定。
## 郵件 (`mailer`)
@@ -1283,9 +1282,8 @@ ALLOW_DATA_URI_IMAGES = true
- `MAX_ATTEMPTS`:**3**: 每次 http/https 請求的最大嘗試次數(用於遷移)。
- `RETRY_BACKOFF`:**3**: 每次 http/https 請求重試的退避時間(秒)。
- `ALLOWED_DOMAINS`:**_empty_**: 允許遷移儲存庫的域名允許列表,預設為空。這意味著允許外部網址。多個域名可以用逗號分隔。支援通配符:`github.com, *.github.com`。
- `BLOCKED_DOMAINS`:**_empty_**: 阻止遷移儲存庫的域名阻止列表,預設為空。多個域名可以用逗號分隔。當 `ALLOWED_DOMAINS` 不為空時,此選項優先級較高,用於拒絕域名。支援通配符。
- `ALLOW_LOCALNETWORKS`:**false**: 允許 RFC 1918、RFC 1122、RFC 4632 和 RFC 4291 中定義的私有地址。如果域名被 `ALLOWED_DOMAINS` 允許,此選項將被忽略。
- `ALLOWED_HOST_LIST`:**_empty_**: 遷移和鏡像可以訪問的主機,格式與 `[security]` 的 `ALLOWED_HOST_LIST` 相同。私有和回環地址需要內建或 CIDR 條目。取代已棄用的 `ALLOWED_DOMAINS` 和 `ALLOW_LOCALNETWORKS`。
- `BLOCKED_HOST_LIST`:**_empty_**: 遷移和鏡像禁止訪問的主機。取代已棄用的 `BLOCKED_DOMAINS`。
- `SKIP_TLS_VERIFY`:**false**: 允許跳過 TLS 驗證。
## 聯邦(`federation`)
@@ -1516,14 +1514,14 @@ MINIO_BUCKET_LOOKUP_TYPE = auto
## 代理 (`proxy`)
- `PROXY_ENABLED`: **false**: 啟用代理,如果為 true,所有通過 HTTP 向外部的請求都將受到影響,如果為 false,即使環境設定了 http_proxy/https_proxy 也不會使用
- `PROXY_URL`: **_empty_**: 代理伺服器地址,支援 http://, https//, socks://,為空則不啟用代理而使用環境變量中的 http_proxy/https_proxy
- `PROXY_URL`: **_empty_**: 代理伺服器地址,支援 http://, https://, socks5://,為空則不啟用代理而使用環境變量中的 http_proxy/https_proxy
- `PROXY_HOSTS`: **_empty_**: 逗號分隔的多個需要代理的網址,支援 \* 號匹配符號, \*\* 表示匹配所有網站
i.e.
```ini
PROXY_ENABLED = true
PROXY_URL = socks://127.0.0.1:1080
PROXY_URL = socks5://127.0.0.1:1080
PROXY_HOSTS = *.github.com
```