Discourse и Cloudflare

:+1:

(Нам нужна возможность реагировать/лайкать часть поста; как это сделать, я понятия не имею — но тогда не было бы смысла писать пустые посты вроде этого… :wink: )

Вы конкретно упоминаете производительность. В моём цитировании я конкретно упоминаю экономию трафика. Это две разные вещи, и разные люди будут придавать им разную важность.

Привет, Ричард, ссылка на Communiteq была неясной. Суть сообщения: не используйте Cloudflare.

А почему бы не сказать так: если вы используете Cloudflare, настройте эти параметры? Объясните всё подробно. Думаю, именно этого и хочет oopsyscoops. Нужен какой-то стандарт, а не просто «не используйте». Если отключить оптимизацию производительности и разрешить кэширование изображений, это, кажется, будет приемлемо. Я тут не эксперт, поэтому и спрашиваю. Мне просто интересно знать обе стороны вопроса.

Вы сказали, что кэширование — это так себе? Если бы это было правдой, то зачем вообще использовать CDN? Они кэшируют/хранят ваши файлы в удалённых локациях, чтобы пользователи могли скачивать их быстрее из своего региона. Не говоря уже об экономии пропускной способности источника и нагрузки на сервер.

Это совет, который дают те, кто управляет Discourse профессионально.

Потому что они, кажется, меняются со временем. Я постоянно борюсь за то, чтобы инструкции помогали людям настраивать работу с Mailgun, например.

Cloudflare работает не как CDN. Это нечто другое. Если вы используете CDN, то Discourse применяет его для вещей, которые должны кэшироваться. Он не оставляет CDN на догадки о том, как работать.

Если только вы не управляете сообществом, которое с высокой вероятностью может стать целью DDoS-атак, Cloudflare — не лучшая идея.

Я использовал bunny.net для множества сайтов: это дёшево и просто, хотя и не бесплатно.

Я могу это понять.

Я недавно начал использовать Cloudflare для нашего сайта на WordPress, и включение APO значительно ускорило работу. К сожалению, поскольку я вот-вот запущу наш форум на Discourse, счетчик комментариев плагина WP-Discourse не работает корректно, независимо от того, какой продукт для кэширования страниц я использую. Наш форум даже не находится на Cloudflare (только DNS).

Я поддерживаю Bunny, мы сейчас используем его для видео.

В этом обсуждении не хватает разграничения того, КАКИЕ именно функции Cloudflare вызывают проблемы. Всё, что я прочитал до сих пор, единодушно упоминает Cloudflare только как CDN, но на сегодняшний день Cloudflare — это и название компании, и название их ПЛАТФОРМЫ с различными функциями (SASE, сетевые услуги, Zero Trust, аналитика и т. д.).

Если проблемы возникают преимущественно из-за кэширования или оптимизации в Cloudflare, так и скажите об этом.

Но почему использование Cloudflare Tunnel с Cloudflare Access для значительного повышения безопасности экземпляра Discourse игнорируется только потому, что оно носит то же название «Cloudflare»?

И именно об этом идёт речь в обсуждении. Оно не касается их других продуктов. Речь лишь о том, работает ли Discourse в вашем веб-браузере. Когда обсуждение началось, у них был в основном только CDN.

Всегда подразумевается, что данное обсуждение касается только CDN-части платформы Cloudflare. Пользователи, которые сейчас устанавливают, не знают истории: 10 лет назад Cloudflare (помимо нескольких других функций) предлагала только свой CDN.
Таким образом, если эта ветка должна отпугнуть администраторов Discourse от включения функционала CDN в Cloudflare, то вы должны чётко это сформулировать — в этом и заключалась моя основная мысль.
Иначе «все» пользователи будут отпугнуты от использования других функций Cloudflare, кроме CDN, что не имеет смысла, лишь потому, что в этой ветке слово «Cloudflare» нечётко используется как синоним «CDN, кэширования и оптимизации Cloudflare».

Не понимаю, как кто-то мог подумать, что обсуждение касается чего-то иного, кроме CDN. Автор оригинального поста здесь пишет:

Он не сказал «сервис CDN Cloudflare», но, на мой взгляд, совершенно очевидно, что речь именно об этом. Честно говоря, не понимаю, какое отношение какие-либо другие сервисы имеют к тому, работает ли Discourse.

Давайте проясним. Cloudflare — это не CDN. Они называют одну из функций своего сервиса Cloudflare CDN, но на фундаментальном уровне это не совсем так.

Два элемента, которые обычно пересекаются с Discourse, — это их DNS (в целом хорошо, даже отлично) и обратный прокси — оранжевое облако при использовании их DNS-продукта.

Обратный прокси может кэшировать загружаемые файлы (что допустимо), но также может мешать доставке JavaScript-нагрузки в браузер (обычно недопустимо, и именно этот элемент мы обсуждаем здесь). Как обратный прокси он также увеличивает задержку для всех соединений между клиентом и сервером, что напрямую влияет на пользовательский опыт.

Cloudflare Tunnel упоминается в других местах на meta и подходит для приложения, для которого он предназначен.

Спасибо @Stephen за разъяснения, к которым я обращался.

Разве это не противоречит основным преимуществам CDN? Я имею в виду, что CDN ускоряет загрузку ресурсов для пользователей по всему миру, предоставляя файлы из близлежащих регионов?

Да, это общепринятое толкование. У Cloudflare действительно огромная сеть и широкое присутствие, но это не означает, что их прокси не замедляет связь в какой-то степени.

Никаких реальных проблем с включением оранжевого облака после выпуска сертификата Let’s Encrypt нет, если вы отключите их функции производительности и готовы к увеличению задержки. Как мы уже говорили выше, это полезно, если вам нужно скрыть IP-адрес вашего сервера или вы хотите кэшировать /uploads. Это просто не «волшебная пуля», как некоторые утверждают.

Насколько мне известно, Let’s Encrypt всегда может получить доступ к веб-серверу для проверки HTTP-01 через HTTPS, даже если перед ним стоит универсальный SSL-сертификат Cloudflare. Поэтому не нужно ждать отключения режима «Оранжевое облако» до момента выпуска сертификата Let’s Encrypt.

Я бы порекомендовал попробовать это — это частая тема в разделе поддержки.

Let’s Encrypt не сработает, если Cloudflare включен до выдачи первого сертификата.

Discourse-setup также не добавляет шаблон Cloudflare; обычно я рекомендую выполнять обе настройки одновременно после завершения первоначальной сборки.

На самом деле да, все мои публичные веб-приложения работают через Cloudflare Tunnel, для функционирования которого необходимо включить Orange Cloud, и все они смогли получить начальный сертификат LE без доступности порта 80 и протокола HTTP.

Cloudflare tunnel — это другой продукт. Он не ускорит работу. Это совершенно другое решение.

Да. Но речь шла не об этом в разговоре со Стивеном. И я также никогда не говорил о «ускорении работы». Я добавил пример ситуации, в которой можно получить сертификаты Let’s Encrypt даже при включённом Cloudflare (Orange Cloud), потому что на собственном опыте убедился, что это работает.

Кажется, вы правы: у Cloudflare теперь достаточно продуктов со схожими, но очень разными названиями и целями, что будет вызывать большую путаницу при помощи пользователям Cloudflare. Ссылка Install Discourse on a residential internet with Cloudflare Tunnel описывает очень конкретный и документированный сценарий использования, который сильно отличается от того, о чём говорят 99% тем, обсуждающих Cloudflare. Этот вопрос действительно не относится к данной теме.