Set up Let’s Encrypt with multiple domains / redirects

Указываются ли DNS-записи для обоих сайтов на сервер?

Если вы уверены, что оба доменных имени разрешаются в адрес сервера Discourse.

1 лайк

Теперь всё работает, потребовалось 2 пересборки.

1 лайк

Когда я захожу на mysite.ca в режиме инкогнито Google Chrome, это сообщение всё ещё отображается.

Наше соединение не защищено

Злоумышленники могут пытаться украсть вашу информацию с mysite.ca (например, пароли, сообщения или данные кредитных карт). [Узнать больше]

NET::ERR_CERT_COMMON_NAME_INVALID

Вернуться в безопасный режим Скрыть дополнительные сведения

Этот сервер не может подтвердить, что он является mysite.ca; его сертификат безопасности выдан для forum.mysite.ca. Это может быть вызвано ошибкой конфигурации или перехватом вашего соединения злоумышленником.

[Перейти на mysite.ca (небезопасно)]

Как мне получить сертификат безопасности для mysite.ca? Это связано с моими записями A или CNAME в DigitalOcean?

1 лайк

Каковы реальные URL-адреса?

Если вы хотите перенаправить domain.com на forum.domain.com, то, по-моему, достаточно настроить перенаправление на уровне DNS. :thinking:

РЕДАКТИРОВАНИЕ: похоже, вы уже решили свою проблему.

1 лайк

Не совсем так. Если вы хотите, чтобы HTTPS тоже работал, вам понадобятся сертификаты для обоих доменов, иначе вы получите ошибку некорректного сертификата.

Кажется, всё работает.

Вы можете найти в Google что-то вроде «проверить HTTPS-сертификат», чтобы найти тестовые сайты и убедиться, что сертификат действителен.

1 лайк

Когда я открываю свой домен в браузере Chrome или Brave, которые не сохраняют файлы cookie, я всё равно получаю предупреждение.

Ваше соединение не является защищённым

Злоумышленники могут пытаться похитить вашу информацию с mysite.ca (например, пароли, сообщения или данные кредитных карт). Узнать больше

NET::ERR_CERT_COMMON_NAME_INVALID

При нажатии на кнопку «Продолжить» меня перекидывает на мой экземпляр Discourse. Я следовал инструкциям из оригинального поста.
Я не знаю, как загрузить файлы для создания целевой страницы моего домена, и не знаю, как получить сертификат для моего домена; у меня есть SSL только для поддомена/экземпляра Discourse.

Я думал, что решил эту проблему.

1 лайк

Вы можете снова запустить CertBot и указать как имя форума, так и корневое доменное имя: -d mysite.ca -d forum.mysite.ca. Будет выдан новый сертификат с обоими именами.

При тестировании всегда используйте тестовую среду, чтобы убедиться, что всё работает корректно. Только после этого запускайте в рабочей среде. Это снижает нагрузку на серверы LE.

1 лайк

Однако эта команда настроена в app.yml и выполняется при пересборке сайта. Можно внести некоторые изменения в /etc/runit/1.d/letsencrypt и запустить его снова, но это не то, что большинство людей готовы делать. К тому же эти изменения будут удалены при пересборке образа.

Это усложняет задачу, так как требует перенаправления DNS на тестовую среду. Поэтому, если вы не планируете проводить тест с другим набором имён хостов в тестовой среде и использовать этот app.yml и настройки DNS в качестве шаблона для настройки производственной среды, то использование тестовой среды для решения проблемы с настройкой Let’s Encrypt не имеет особого смысла.

1 лайк

Есть два очевидных ответа:

  • использование обратного прокси, такого как Nginx или Apache2, но у меня есть ощущение, что это не самая простая задача для OP (хотя на самом деле это довольно легко),
  • не использовать домен верхнего уровня.

Эта тема посвящена тому, как это сделать без обратного прокси-сервера.

Так было, да :flushed_face: Я путаю две разные темы или просто запутался?

В любом случае… если говорить в общем, все вопросы не совсем верны, потому что у человека есть проблема, которую он не может решить самостоятельно, а предложенное решение не всегда подходит, ведь… тот, кто спрашивает, не знает :smirking_face:

Да, ты прав — слишком мета.

1 лайк

Я не запускал certbot, но несколько раз пересобирал своё приложение и не уверен, есть ли у него лимит.
Запускаю ли я certbot в var/discourse?
Моя переадресация работает для unityforhesquiaht.ca, но не для nuuchahnulth.ca. Я также тестирую это в режиме инкогнито Google Chrome и в приватных режимах других браузеров. Не знаю, неправильно ли у меня отступы в файле app.yml или я просто слишком много раз пересобирал приложение. Я проверял отступы, и они кажутся правильными, но придётся проверить ещё раз.

1 лайк

Если вы это сделали, а DNS не был настроен для всех доменов, то вы достигли лимита запросов. Вам нужно будет подождать неделю или использовать другой набор доменов.

Или и то, и другое!

Если вы хотите, чтобы один и тот же сервер получил сертификаты для обоих доменов, то проблема в DNS.

 pfaffman@noreno:~$ dig +short unityforhesquiaht.ca
164.92.110.32
 pfaffman@noreno:~$ dig +short nuuchahnulth.ca
24.199.125.235
2 лайка

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

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

1 лайк

Это наиболее вероятная проблема. Пять попыток — и вы упираетесь в лимит. Поэтому я и предлагал использовать staging-среду — там можно делать неограниченное количество попыток, чтобы всё настроить. Если бы он использовал certbot, то в логах появилось бы сообщение об ошибке вроде «слишком много попыток…» с информацией о лимите запросов, времени ожидания, необходимости использовать другой домен и т. д. Не уверен, появится ли подобное сообщение в логах, если certbot не использовался.

2 лайка

Ах, возможно, вы имеете в виду Let’s Encrypt staging, а не staging-сайт. Я не знаю, как это сделать с помощью шаблона Let’s Encrypt.

2 лайка

Да, я имел в виду тестовую среду LE. Вот несколько ссылок о тестовой среде LE и Pebble (небольшой ACME-сервер, созданный для тестирования и разработки). Первая ссылка показывает ограничения для различных сценариев.

2 лайка

Это не помогает понять, возможно ли заставить шаблон Discourse с Let’s Encrypt работать в тестовом режиме.

1 лайк

Похоже, у вас всё заработало.
Я давно хотел перенести свой экземпляр Discourse с поддоменов на основные домены. С какими проблемами это сопряжено? Можно ли изменить уже созданные мной настройки и делать так же в будущих установках?
Вы использовали стандартную установку? Есть ли у вас какие-либо советы или рекомендации? Спасибо.
У меня возникают проблемы с перенаправлением домена unityforhesquiaht.ca на форум.unityforhesquiaht.ca. Я ждал неделю, чтобы пересобрать приложение, но после пересборки проблема всё ещё сохраняется.

1 лайк