Помощь с неработающими URL в Chrome

Я знаю, что это не имеет прямого отношения к Discourse, но поскольку это мой форум на базе Discourse, вот вопрос:
Я пытаюсь убедиться, что все версии URL работают и перенаправляют пользователей на мой форум. Эти версии:

http://domain.com
http://www.domain.com
https://domain.com
https://www.domain.com
www.domain.com
domain.com

Эти версии не работают, когда Chrome запущен в режиме инкогнито:

http://www.domain.com
www.domain.com

Я получаю следующее:

Я использую Cloudflare и уже создал правило для перенаправления доменов, предложенное ChatGPT (поскольку я не эксперт), но оно не работает.

Есть ли какие-либо предположения о том, что может быть причиной этого?
Это поддомен, например forum.domain.com, не уверен, что это может быть проблемой?
Потому что если я использую тот же формат, но с основным доменом domain.com, всё работает.

Я понимаю, что это очень специфический сценарий, но я хочу убедиться, что все варианты во всех «состояниях» браузера покрыты.

Спасибо!

Эта инструкция поможет настроить дополнительные домены с Let’s Encrypt: Set up Let’s Encrypt with multiple domains / redirects.

Что касается перенаправления, оно обрабатывается автоматически:

Я проверю это завтра, но меня смущает следующее: всё работает, например, в Chrome и Safari, но в режиме инкогнито в Chrome эти две версии не работают. Значит, сертификат, который Cloudflare предлагает по умолчанию, вроде бы работает. Или я что-то упускаю?

Вы можете доверить Discourse управление доменом и сертификатом, следуя руководству выше.

Или, поскольку вы используете Cloudflare, вы также можете создать перенаправление с www.domain.com на domain.com; см. этот учебник: https://community.cloudflare.com/t/redirect-www-example-com-to-example-com-using-single-dynamic-redirects/636764.

Спасибо за ссылку.

Следуя их первым инструкциям, я создаю это:

Их инструкции касались основного домена, а не поддомена, так что, полагаю, я всё делаю правильно?

При сохранении я вижу значок предупреждения с таким сообщением. Это нормально?

Затем я перехожу к правилам:

Должно ли это выглядеть именно так? И влияет ли это правило на URL, после которого есть что-то после /? Например, forum.alltiago.com/tags?

Они упоминают, что изменения могут отразиться до часа, поэтому я подожду. Дайте знать, если я что-то упустил.

Спасибо!

О, вы уже используете поддомен forum.

Вы видите это предупреждение об SSL, потому что бесплатный универсальный SSL-сертификат, предоставляемый Cloudflare, покрывает только один уровень поддомена. Он не будет работать на www.forum.domain.com.

Я думаю, что проще следовать руководству в моём первом сообщении и доверить обработку www.forum. системе discourse/let’s encrypt (бесплатно).
Что нужно сделать:

Таким образом:

  • любой HTTP-запрос будет перенаправлен на https://forum.alltiago.com
  • www.forum.alltiago.com будет перенаправлен на forum.alltiago.com

Я лично проверил это у себя, и всё работает отлично.

Вот всё, что содержит слово «forum» (AAAA-запись я уже удалил):

Когда я пытаюсь её создать, получаю следующее:

Получается, мне нужно удалить A-запись с именем www.forum? Если да, то что делать с другой A-записью?

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

Странно то, что, например, http://www.forum.alltiago.com работает, когда Chrome не в режиме инкогнито, но перестает работать в этом режиме.
www.forum.alltiago.com не работает ни в одном из этих случаев.

Я не знал, что Discourse поставляется с сертификатом?
В чём разница между использованием этого сертификата и Let’s Encrypt?
Как новичок во всём, что касается Discourse, я стараюсь работать с тем, что менее сложно, чтобы не запутаться. Если Discourse может справиться с этим — отлично. Но мне всё же хотелось бы понять, почему стоит выбрать одно или другое, если вы не против поделиться?

Спасибо!

Да, удалите ту, у которой есть A-запись; вместо этого используйте CNAME.

Просто введите свой домен в поле ввода, затем скопируйте и вставьте весь вывод в файл конфигурации app.yml, как я показывал на скриншоте! Будьте внимательны с отступами!

Вы уверены, что Chrome автоматически не удаляет www, и вы этого не заметили? Других объяснений я не вижу.

Нет, нет. Discourse использует Let’s Encrypt! Извините за путаницу. Вот почему вам стоит использовать его: это бесплатно и просто.

Но обе A-записи или только ту, у которой имя www.forum?

Так?

Так что мне всё ещё нужно создать учётную запись в Let’s Encrypt?
Я помню, что при установке Discourse одним из необязательных шагов в конце инструкций была установка Let’s Encrypt, но я этого ещё не сделал. Так что, возможно, после того как всё это будет завершено, что, как я полагаю, уже произошло, мне стоит проверить эти инструкции, верно?

Только та, у которой имя www.forum. Вы хотите заменить A-запись на CNAME.
www.forumforum.alltiago.com
Помните: без прокси!

Инструкция предназначена для дополнительных доменов!
Поэтому вы должны добавить www.forum.alltiago.com вместо этого.
forum.alltiago.com уже обрабатывается по умолчанию.

В остальном расположение и отступы выглядят правильно.

Вам ничего не нужно делать! Просто добавьте дополнительный домен и пересоберите проект.
Let’s Encrypt автоматически выпустит сертификат.

Кроме того, если вы еще не видели это руководство от Cloudflare, оно может оказаться полезным: https://meta.discourse.org/t/using-discourse-with-cloudflare-best-practices

Слишком много «волнений» за один день, ха-ха-ха
Но я сохранил эту страницу для будущего использования.
Спасибо! :flexed_biceps: