Мы перенесли наш сервер с одного провайдера VPS на другого и также обновили инстанс через launcher rebuild до последней версии — с 3.5.0.beta3 до 3.5.0.beta4.
Раньше инстанс стабильно работал за Cloudflare, но теперь при попытке доступа отображается бесконечная анимация загрузки с пятью точками.
В моём локальном файле hosts есть запись для обхода Cloudflare, поскольку у моего провайдера (Deutsche Telekom AG) ужасная политика пиринга, из-за чего доступ через Cloudflare иногда становится крайне медленным. Поэтому сначала я не заметил проблему, так как доступ без Cloudflare работал нормально. Затем я обновил инстанс и теперь не уверен, что стало причиной изменений: новый VPS или обновление Discourse. Я проверил через VPN и мобильную сеть, что проблема действительно в Cloudflare, а не в плохом пиринге моего провайдера, и другие пользователи сталкиваются с той же проблемой. И старый, и новый VPS поддерживают IPv6, а вся система полностью идентична, так как была перенесена как сырой образ.
Сообщений об ошибках нет ни в браузере (консоль), ни в прокси хост-системы, ни в Nginx внутри контейнера, ни в Rails или где-либо ещё. HTML-документы и несколько скриптов загружаются корректно, и при сравнении с теми, что отдаются при обходе Cloudflare, всё (что я проверил) идентично. Заголовки ответов тоже в основном совпадают, за исключением нескольких специфичных для Cloudflare, конечно. Последнее, что загружается, — это мини-профайлер:
Очистка кэша браузера, использование приватных окон и т. д. ничего не изменили. Также очистка/отключение кэша Cloudflare не помогло, значит, проблема не в кэше. Я временно полностью отключил кэширование CF для всего форума.
Стоит отметить, что форум работает на подпути за прокси Apache на хосте, следуя этим инструкциям: Serve Discourse from a subfolder (path prefix) instead of a subdomain
Ранее мы создавали просто символическую ссылку ln -s . forum вместо ссылок uploads/backups и дважды дублировали правила переписывания из инструкций, что работало годами (и сейчас тоже без Cloudflare). Но в рамках отладки я переключился на указанные инструкции, чтобы убедиться, что внутренний прокси применяет все правила корректно. Доверенный заголовок — CF-Connecting-IP, хотя я также включил cloudflare.template.yml, даже если это немного дублирует настройки. Я также пробовал менять различные части этих шаблонов и вышеупомянутых инструкций туда-сюда, пытаясь проверить, влияют ли заголовки IP прокси, так как отсутствие CF-Connecting-IP является одной из проблем при обходе Cloudflare.
На данный момент у меня совершенно нет идей, нет ни единого следа того, откуда может исходить проблема, нет ни одного связанного лога или вывода где-либо. Через Cloudflare Discourse просто зависает на анимации загрузки без каких-либо дополнительных следов.
Надеюсь, кто-то подскажет, как отладить это, или знает, было ли изменение между 3.5.0.beta3 и 3.5.0.beta4, которое могло быть связано с проблемой. Думаю, откат назад может быть проблематичным?
Вот наш инстанс: https://dietpi.com/forum/
РЕДАКТИРОВАНИЕ: Я временно отключил Cloudflare. Но есть CNAME, который всё ещё проходит через Cloudflare, так что их можно сравнить: https://www.dietpi.com/forum/


