mirror of
https://gitverse.ru/kpa39l/gotosocial.git
synced 2026-09-29 09:55:10 +00:00
c62b6efb92
- docker-compose.yml: GTS_TRUSTED_PROXIES now 10.8.0.4/32,127.0.0.1/32,::1,172.30.0.1/16 - config.yaml: trusted-proxies sync (172.29.0.1/16 -> 172.30.0.1/16, actual docker gw) - openspec: change fix-trusted-proxies (proposal/specs/design/tasks) - verified: warning gone (0 matches), external IP 178.176.197.2 in logs, HTTP 200
43 lines
3.1 KiB
Markdown
43 lines
3.1 KiB
Markdown
## Why
|
|
|
|
GoToSocial на главной странице показывает предупреждение о неверной настройке `trusted-proxies`:
|
|
инстанс видит входящие запросы с IP, который не указан в доверенных прокси, из-за чего
|
|
rate-limiting (и, как следствие, федеризация) может работать некорректно.
|
|
|
|
Warning выводит `SUGGESTED_IP_RANGE` = `10.8.0.4/32` — это WireGuard-адрес vps02 (Caddy,
|
|
реверс-прокси) в сети 10.8.0.0/24. Трафик от Caddy приходит на bigbox (10.8.0.2),
|
|
проходит docker-NAT и попадает в контейнер GtS с source = адресом шлюза docker-сети
|
|
Gotosocial (172.30.0.1). Текущий `trusted-proxies` (`127.0.0.1/32,::1,172.30.0.1/16`)
|
|
не охватывает реальный адрес источника, который видит GtS.
|
|
|
|
## What Changes
|
|
|
|
- Добавить `10.8.0.4/32` (WireGuard-адрес vps02/Caddy) в `trusted-proxies`:
|
|
- `docker-compose.yml` → `GTS_TRUSTED_PROXIES` env (рабочий конфиг — только через env)
|
|
- `config.yaml` → `trusted-proxies` (reference-конфиг, образ его не читает, но держим синхронным)
|
|
- Сохранить существующие `127.0.0.1/32`, `::1`, `172.30.0.1/16` — ничего не убирается
|
|
- Пересоздать контейнер (`docker compose up -d --force-recreate`), рестарт сервиса снаружи
|
|
не требуется (bigbox — локальная машина, compose доступен)
|
|
- Проверить, что предупреждение исчезло и rate-limit работает с реальным клиентским IP
|
|
- Закоммитить и запушить изменения в git (gitverse — источник истины)
|
|
|
|
## Capabilities
|
|
|
|
### New Capabilities
|
|
|
|
- `gotosocial/trusted-proxies`: корректная настройка доверенных прокси GoToSocial —
|
|
инстанс определяет реальный IP клиента за реверс-прокси, rate-limiting и федеризация
|
|
работают штатно, предупреждение отсутствует
|
|
|
|
### Modified Capabilities
|
|
|
|
- `gotosocial/deploy` (существующая): уточняется требование `trusted-proxies` — добавляется
|
|
IP реверс-прокси (10.8.0.4/32, WireGuard vps02) к доверенным
|
|
|
|
## Impact
|
|
|
|
- **Сервисы/порты**: GoToSocial (docker, порт 8082 наружу / 8080 в контейнере); конфиг
|
|
GTS_TRUSTED_PROXIES в docker-compose.yml; reference config.yaml
|
|
- **Сеть**: WireGuard 10.8.0.0/24; docker-сеть gotosocial 172.30.0.0/16 (шлюз 172.30.0.1)
|
|
- **Rate limiting / федеризация**: должны начать использовать реальный клиентский IP
|
|
- **Rollback**: вернуть прежнее значение `GTS_TRUSTED_PROXIES` + `docker compose up -d` |