Привет!
Я заметил, что когда пользователи просматривают свои активные сессии, Discourse отображает местоположение сервера CloudFlare.
Я настроил так, что весь форум находится за CloudFlare. Есть ли возможность использовать гео-заголовок CloudFlare, ведь сервер его получает?
Добро пожаловать, @kaziqta! К сожалению, мы не рекомендуем направлять весь ваш трафик через CloudFlare, так как это может вызвать проблемы с корректной работой сайтов на Discourse.
Да, существует шаблон, который можно добавить в ваш app.yml, чтобы передать клиентский IP-адрес, пересылаемый CloudFlare, в Discourse. Добавьте cloudflare.template.yml в блок templates следующим образом:
templates:
- "templates/cloudflare.template.yml"
Затем выполните пересборку.
Я не считаю это верным. Если создана правило, чтобы «отключить оптимизацию производительности» для URL-адреса Discourse, чтобы никакие дополнительные оптимизации или минификация не мешали полезной нагрузке, и сжатие Brotli отключено на уровне домена, то реальных проблем не возникает.
Это действительно добавляет лишние переходы от клиента к серверу, что может незначительно задерживать запросы, но в остальном всё работает отлично.
Кстати, я перевёл много строк. Они потеряются при пересборке?
Вы участвуете в переводе Discourse на Transifex?
Существует только один законный случай, когда всё должно проходить через CloudFlare — когда ваш сайт находится под высокой угрозой DDoS-атак и вы не можете рисковать раскрытием исходного IP-адреса вашего сайта. На эту тему есть и другие обсуждения здесь. Опасность заключается в том, что IP-адрес может быть раскрыт через какой-нибудь неочевидный вывод где-либо, поэтому вы должны быть абсолютно уверены, что утечек IP-адресов нет, иначе всё будет потеряно.
Для тех, кто не может позволить себе отдельный CDN, это тоже неплохой способ разгрузить серверы при загрузке файлов и аватаров, но в остальных случаях сложность и недостатки перевешивают любые преимущества.
Напрямую в Discourse болгарские переводы просто… Я уже перевёл «disqus» :D, но я просто хочу узнать, теряются ли внутренние переводы, если я пересоберу.
РЕ: сделал это
Я запустил скрипт, который находится в
templates/cloudflare.template.yml
Добавил вывод в свой конфиг nginx, всё отлично! Спасибо! ![]()
Внимание, Стефан: если вы запустите сам скрипт, он будет перезаписан при следующем обновлении Discourse. Обязательно включите шаблон в ваш app.yml, чтобы обеспечить его сохранность.
Если вы посмотрите в начало вашего существующего файла app.yml в /var/discourse/containers/app.yml, то увидите список шаблонов. Добавьте шаблон Cloudflare в этот список. Обратите внимание, что YAML крайне чувствителен к пробелам, поэтому убедитесь, что всё продолжает выравниваться корректно.
Конечно, уже добавлено.
Просто хочу узнать, удаляет ли пересборка локальные переводы?
Если вы делали их через интерфейс UX по адресу /admin/customize/text, то всё в порядке.
Отлично, спасибо за информацию
