RSS-лента не работает для форума Discourse

У меня возникли проблемы с получением RSS-каналов с моего форума Discourse ThePros, и я надеюсь получить рекомендации по решению этой проблемы.

Описание проблемы:

Я использую RSS для получения данных с моих форумов Discourse. На форуме Mamapedia все RSS-каналы работают нормально. Однако на форуме ThePros не работают ни один RSS-канал — включая канал последних сообщений и каналы, специфичные для категорий.

Рабочий пример:

Проблема с форумом ThePros:

  • Форум: ThePros
  • URL канала последних сообщений: https://forum.get.it/latest.rss
  • URL канала категории: https://forum.get.it/c/hydrologist/32.rss
  • Отчет валидации (канал последних сообщений): Отчет валидатора W3
  • Отчет валидации (канал категории): Отчет валидатора W3
  • Сообщение об ошибке: «Похоже, это веб-страница, а не канал. Я искал канал, связанный с этой страницей, но не смог его найти».
  • Ошибка WordPress: «Ошибка RSS: Канал не найден по адресу https://forum.get.it/latest.rss или https://forum.get.it/c/hydrologist/32.rss; код состояния 403, тип содержимого — text/html; charset=UTF-8».
  • Наблюдаемое поведение: При открытии ссылки RSS в браузере отображается код RSS, но валидатор W3 всё равно не распознаёт его как корректный канал.

Выполненные шаги по устранению неполадок:

  1. Проверка других каналов:
  • Все RSS-каналы форума ThePros не загружаются.
  • RSS-каналы Mamapedia работают нормально.
  1. Проверка разрешений:
  • Форум и категории доступны публично без входа в систему.
  1. Проверка настроек сайта:
  • Убедился, что RSS-каналы не отключены.
  1. Попробовал разные категории:
  • Ни одна из категорий форума ThePros не имеет работающих RSS-каналов.

Пожалуйста, сообщите, есть ли решение этой проблемы. Заранее спасибо.

Возможно, для RSS-лент установлено какое-то ограничение скорости? Может быть, их слишком часто запрашивают на forum.get.it, и Discourse как-то ограничивает это?

Похоже, это вопрос, связанный с Cloudflare. Мы опубликуем сообщение в соответствующем форуме, чтобы узнать, есть ли у них какая-либо информация.

https://forum.get.it использует защиту Cloudflare Bot, которая блокирует доступ вашего RSS-приложения к ленте. Необходимо добавить исключения для маршрутов RSS.

С радостью сообщаю, что проблема с RSS-лентой на форуме.get.it полностью решена! Хочу выразить искреннюю благодарность Jacob Peebles, Falco и Laudian за их неоценимую помощь.

Изначально я не мог понять, почему Cloudflare блокирует мои RSS-ленты.

  • Jacob Peebles начал обсуждение, предположив возможность ограничения частоты запросов (rate limiting) для RSS-лент, что побудило нас изучить потенциальные проблемы, связанные с Cloudflare.
  • Falco затем точно определил, что защита от ботов Cloudflare блокирует RSS-приложение, и предложил добавить исключения для RSS-маршрутов, предоставив ключевое направление для решения.
  • Laudian продолжил с подробными пошаговыми инструкциями по созданию конкретного правила WAF для обхода защиты от ботов при запросах RSS. Он помог мне разобраться в процессе и убедился, что я правильно реализовал решение.

Благодаря их совместному опыту мне удалось создать правило WAF, которое специально нацелено на запросы к forum.get.it, заканчивающиеся на .rss, и установить действие «Пропустить» (Skip) для режима Super Bot Fight Mode. Это позволило RSS-лентам работать безупречно, сохраняя при этом безопасность остальной части сайта.

Я невероятно благодарен за быструю и точную поддержку от всех троих. Ваш вклад был решающим в решении этой проблемы. Еще раз спасибо за вашу выдающуюся помощь!

Ссылка на решение: https://community.cloudflare.com/t/cloudflare-interfering-with-rss-feed-for-thepros-discourse-forum/771346/7