Files
gotosocial/openspec/changes/fix-trusted-proxies/proposal.md
T
estorozhenko c62b6efb92 fix(trusted-proxies): add 10.8.0.4/32 (vps02 WG) to GTS_TRUSTED_PROXIES
- 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
2026-09-06 20:17:16 +00:00

3.1 KiB

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