Прежде чем покупать все ресурсы, я хотел протестировать сайт без доменного имени, поэтому использовал публичный DNS IPv4 этого экземпляра в качестве имени хоста Discourse и для доступа к сайту, например: https://ec2_ip_address.us-west-1.compute.amazonaws.com/.
Я открыл порты 80 и 443 на экземпляре через группу безопасности и проверил, что эти порты доступны из публичной сети (тестировал с помощью простого сервера на Python).
Но после запуска сервера Discourse с помощью команд ./discourse-setup или ./launcher rebuild app в браузере появляется сообщение «Этот сайт недоступен».
Я запустил утилиту discourse doctor, и она вернула:
Версия Discourse на ec2-ip_address.us-west-1.compute.amazonaws.com: НЕ НАЙДЕНА
Версия Discourse на localhost: НЕ НАЙДЕНА
Я не на 100% уверен, что настройка почты работает, но предполагаю, что доступность сайта — это отдельная проблема, не связанная с почтой.
Может ли кто-нибудь подсказать, чего не хватает, или как отладить эту проблему?
Статус «Not found» для вашего имени хоста, скорее всего, связан с тем, что сайт ещё не запущен. Пожалуйста, предоставьте больше информации из лога discourse-doctor.
Завершается ли процесс rebuild/bootstrap успешно?
Если экземпляр EC2 недостаточно мощный, то Discourse может работать дольше обычного (в некоторых случаях около 3–5 минут).
Вам следует проверить, завершается ли сборка успешно, а затем с помощью команды docker ps убедиться, что контейнер запущен и прослушивает порты 80 и 443. После подтверждения этого проблема, скорее всего, заключается в группе безопасности AWS, а не в самой установке.
Статус Not found для вашего хоста, скорее всего, связан с тем, что сайт ещё не запущен. Вам нужно предоставить больше информации из лога discourse-doctor.
Согласен. Я внимательно изучу лог сборки и проверю, нет ли там ошибок. Как можно отладить ситуацию, если в логе есть ошибка?
Можете ли вы проверить, что доступ к серверу по хосту возможен?
Да, я проверил хост, и порты 80 и 443 доступны через браузер. Я создал простой HTTP-сервер на Python, который отдаёт некоторые файлы, и вижу ответ в браузере.
Проблема, скорее всего, связана с Let’s Encrypt и AWS. Даже если это ваш собственный домен, при множественных повторных сборках вы могли исчерпать квоту.
Забавно, что вы об этом упомянули. Именно это изначально привлекло меня к этой теме. Я помогаю многим людям на https://community.letsencrypt.org и подумал, что эта тема может быть в моей зоне компетенции для помощи. Чтобы применить какие-либо из моих инструментов, мне нужно было бы знать реальные доменные имена.
Вы можете зарегистрировать доменное имя за 3 доллара в Godaddy. Если ваше время стоит больше 3 долларов в час, вам стоит зарегистрировать домен. А если у вас нет 3 долларов на регистрацию домена, значит, вы не можете позволить себе и EC2.
Конечно! Посмотрите, кто ещё использует доменное имя .amazonaws.com с Let’s Encrypt, и подождите неделю. Если вы не хотите регистрировать домен, следующим шагом, который я бы порекомендовал, будет именно это.