Базовая установка Digital Ocean не удалась: порт 443 недоступен

Привет! Я пытаюсь следовать базовому руководству Discourse/DigitalOcean: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

Я потратил несколько (более 10) часов на возню с портами, прежде чем смог запустить систему. Затем пришлось разбираться с почтовыми системами, SMTP, DNS, SSH и множеством других вещей. В конце концов мне удалось это сделать, но…

Затем я (по глупости) решил начать всё сначала с нового droplet’а, теперь, когда я всё понял. (Ура мне!) И по глупости удалил этот droplet. Теперь я попытался создать его заново, но постоянно получаю эту ошибку.

Вот моя проблема. Начиная с нового droplet’а DigitalOcean (до настройки почтовых серверов). Либо:

(a) следуя руководству: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

sudo -s
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
./discourse-setup

или

(b) используя образ Discourse из маркетплейса образов DigitalOcean для новых droplet’ов. Затем подключаемся по SSH к droplet’у, и он начинает автоматическую настройку.

Сразу после ввода моего поддомена в запрос Hostname for your Discourse? [discourse.example.com]: появляется следующее:

WARNING: Port 443 of computer does not appear to be accessible using hostname:  forum.example.com
WARNING: Connection to http://forum.example.com (port 80) also fails.

Я ничего не менял на своём droplet’е, это оригинальная настройка. Мне кажется, что базовая настройка работает некорректно. Возможно, что-то изменилось на стороне DigitalOcean с момента написания руководства?

Я видел другие сообщения о Cloudflare, но насколько мне известно, у меня нет никаких услуг Cloudflare.

Я также видел сообщения об использовании ufw для открытия портов. На моём первом droplet’е я делал это и в конце концов смог всё запустить, открыв все порты, о которых встречал рекомендации (22, 80, 8080, 8000, 2222, 443 и другие). Но в любом случае, думаю, руководство нужно обновить, чтобы отразить необходимость открытия портов. И возможно (на предыдущем droplet’е) также требовалось что-то вроде apache2 для прослушивания портов? Хотя я так устал от ошибок, что не могу найти старое решение.

Интересуетесь ли вы, какие порты должны быть открыты, а какие нет, и можете ли вы помочь мне решить проблему и предложить исправление для базового руководства?

Спасибо!

Мне удалось запустить образ Droplet (маркетплейса) с настройкой ufw и открытием нескольких портов, некоторые из которых, как я предполагаю, дублируются…

Эта инструкция помогла:

Я думаю, что выполнил следующие команды:

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22
sudo ufw allow 2222
sudo ufw enable
sudo ufw allow http
sudo ufw allow 80
sudo ufw allow https
sudo ufw allow 443

Когда я запускаю ufw status, получаю:

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
5000/tcp                   ALLOW       Anywhere
50010                      ALLOW       Anywhere
2222                       ALLOW       Anywhere
80                         ALLOW       Anywhere
443                        ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)
5000/tcp (v6)              ALLOW       Anywhere (v6)
50010 (v6)                 ALLOW       Anywhere (v6)
2222 (v6)                  ALLOW       Anywhere (v6)
80 (v6)                    ALLOW       Anywhere (v6)
443 (v6)                   ALLOW       Anywhere (v6)

Не могли бы вы отправить сообщение об ошибке?

Скорее всего, вы не создали DNS-запись A, указывающую на новый Droplet.

ПРЕДУПРЕЖДЕНИЕ: Порт 443 компьютера, по-видимому, недоступен по имени узла: forum.example.com
ПРЕДУПРЕЖДЕНИЕ: Подключение к http://forum.example.com (порт 80) также не удалось.

@OverseersMight1 Это было сообщение об ошибке выше; настройка не продолжилась после этого.

@pfaffman У меня была DNS-запись. Возможно (это важно для других людей), что TTL был установлен слишком высоко, поэтому изменения не вступили в силу. Я установил его на минимальное значение (600), и, подозреваю, это могло помочь.

В руководстве сказано: «* Ваши настройки DNS должны быть доступны из места, где вы купили доменное имя. Создайте DNS запись A для имени узла discourse.example.com в панели управления DNS, указав IP-адрес вашего облачного экземпляра, на котором вы устанавливаете Discourse».

И я сделал это.

Скорее всего, нет, или, возможно, это проблема распространения, как вы и предполагаете. Без знания вашего имени хоста и IP-адреса вашего droplet мы не сможем проверить.