Discourse droplet недоступен на портах 80, 443 после установки на Ubuntu 20.04

Я пытаюсь установить Discourse на Ubuntu 20.04 LTS в Digital Ocean (также пробовал на GCP, результат тот же). Установка выполнена двумя способами:

  1. Официальный способ с GitHub (Docker)
  2. Установка в один клик
    Мой домен: proremont.io
    Провайдер SMTP — Mailgun (мой почтовый домен: mail.proremont.io), DNS-записи верны.

Ошибок во время установки не возникло. Однако Discourse не доступен через браузер или curl (такая же ситуация при попытке отправить curl-запрос к localhost:80 и 443). Ping до IP-адреса droplet проходит без проблем. Брандмауэр UFW внутри droplet отключен, в настройках Digital Ocean разрешены порты 80 и 443.

Кто-нибудь может помочь решить эту проблему?

Если вы выполнили множество установок, то достигли лимитов Let’s Encrypt.

Вы можете проверить это, выполнив:

  tail /var/discourse/shared/standalone/log/var-log/nginx/error.log

Если вы видите ошибки, связанные с сертификатами, значит, я прав. Вы можете подождать неделю или попытаться добавить ещё один поддомен к запросу на сертификат, как описано в статье Настройка Let’s Encrypt с несколькими доменами.


Инструмент стороннего разработчика указывает, что оба порта заблокированы. Это означает, что либо брандмауэр на вашем VPS, либо облачный провайдер блокирует эти порты. Возможно, вам стоит отключить брандмауэр DigitalOcean и проверить UFW в Ubuntu.

это вывод моей команды tail:

2022/03/07 13:59:32 [emerg] 9889#9889: не удалось загрузить сертификат "/shared/ssl/proremont.io.cer": PEM_read_bio_X509_AUX() не удался (SSL: ошибка:0909006C:PEM routines:get_name:no start line:Ожидается: TRUSTED CERTIFICATE)
2022/03/07 13:59:33 [emerg] 9892#9892: не удалось загрузить сертификат "/shared/ssl/proremont.io.cer": PEM_read_bio_X509_AUX() не удался (SSL: ошибка:0909006C:PEM routines:get_name:no start line:Ожидается: TRUSTED CERTIFICATE)
2022/03/07 13:59:34 [emerg] 9894#9894: не удалось загрузить сертификат "/shared/ssl/proremont.io.cer": PEM_read_bio_X509_AUX() не удался (SSL: ошибка:0909006C:PEM routines:get_name:no start line:Ожидается: TRUSTED CERTIFICATE)

Но я не понимаю: почему, если файрвол отключен на дроплете, а в настройках DO я добавил правила для портов 80 и 443?

Это ошибка, связанная с сертификатами.

Она не имеет никакого отношения к фаерволу и полностью связана с тем, что nginx не запускается, потому что у вас нет сертификата.

Но acme.sh был загружен и запущен во время установки. Как это исправить?

Посмотрите ссылку в моём предыдущем сообщении и добавьте вторую поддоменную запись для того же IP-адреса. Отличным вариантом будет www. Или подождите неделю. Я сделал всё возможное, чтобы описать проблему и решение выше.

Спасибо, это работает для меня