Я перенёс наш Discourse на новую конфигурацию, и теперь при входе возникает ошибка HTTP 403 на POST-запрос сессии. Я предполагаю, что это проблема CSRF, но пока не представляю, с чего начать отладку. Файлы /var/log/discourse-var-log/production.log и production_error.log оба имеют размер 0 байт…
Есть ли какие-либо идеи, как правильно провести отладку?
Текущая конфигурация:
1. HAProxy в качестве центрального балансировщика/ускорителя HTTPS (для Discourse и других сервисов)
forum >> develd apache rev. proxy p.82
backend forum-backend
mode http
server forum.netzwissen.de 10.10.10.14:83 cookie A check
http-request set-header X-Forwarded-Port %[dst_port]
http-request add-header X-Forwarded-Proto https if { ssl_fc }
# Заголовок HSTS, 16000000 секунд: чуть более 6 месяцев
http-response set-header Strict-Transport-Security "max-age=16000000; includeSubDomains; preload;"
2. Локальный Apache в качестве обратного прокси
<IfModule proxy_module>
## <https://meta.discourse.org/t/running-other-websites-on-the-same-machine-as-discourse/17247>
ProxyPreserveHost On
# ProxyRequests Off
RequestHeader set X-Forwarded-Proto expr=%{REQUEST_SCHEME}
RequestHeader set X-Real-IP expr=%{REMOTE_ADDR}
ProxyPass / unix:/var/discourse/shared/web-only/apache.http.sock|http://localhost/
ProxyPassReverse / unix:/var/discourse/shared/web-only/apache.http.sock|http://localhost/
</IfModule>
3) Discourse работает с отдельными контейнерами web_only и data, контейнер web_only развёрнут с использованием шаблона “templates/web.socketed.template.yml”