Проблема с портом — пожалуйста, помогите

Привет.

Я купил VPS у DigitalOcean и использовал их функцию установки в один клик для Droplet с Discourse.

После ввода доменного имени и выполнения стандартной настройки. Каждый раз, когда я перехожу по IP-адресу моего VPS (Discourse был установлен на основном домене, который я указал на IP-адрес VPS), я получаю сообщение:

Этот сайт недоступен

(МОЙ-IP-VPS) отказался от подключения.

Попробуйте:

  • Проверить подключение
  • [Проверить прокси и брандмауэр]

ERR_CONNECTION_REFUSED

Я также открыл порты HTTP и HTTPS, и команда sudo ufw status показывает, что они открыты.

Я пробовал очищать кэш браузера на случай, если проблема локальная, но безрезультатно.

Есть ли какие-либо предложения или помощь? Если у кого-то есть идеи или требуется дополнительная информация — не стесняйтесь писать ниже.

Вам следует использовать официальную стандартную установку Discourse.

Для работы Discourse требуется имя хоста. Он не может работать с обычным IP-адресом.

Убедитесь, что у вас не настроен обратный прокси-сервер, например Cloudflare.

Я настроил это, используя доменное имя и правильно указал его на IP-адрес. Тем не менее, выводится ошибка «отказано в соединении». Даже после ожидания более 24 часов.

Обновление:

Мы установили Apache2, чтобы проверить, работают ли порты, и открыли их.

Apache2 корректно отображался по IP-адресу, но как только мы удалили Apache2, проблема вернулась.

Мы считаем, что это проблема с Docker и портами. Мы просто не знаем, как её исправить.

Есть какие-либо идеи, как помочь?

Для справки: мы также связались с DigitalOcean, так как использовали установку Discourse из их маркетплейса.

Удалите этот Droplet и выполните повторную установку, следуя инструкции: Install Discourse in production with the official supported instructions

Я только что попробовал это, и проблема осталась прежней.

Отказано в подключении.

Какой IP-адрес и доменное имя у вашего Droplet?

Каков вывод команды docker ps?

IP-адрес Droplet: 104.248.170.134 (домен robloxfrance.com указывает на него. Однако я только что обновил записи DNS, чтобы перенаправить домен на этот IP.)

Вывод команды docker ps:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0296e70dba0b local_discourse/app “/sbin/boot” 6 minutes ago Up 6 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp app

Если вы указали DNS после запуска настройки, этап выдачи сертификата завершится ошибкой, и nginx может не запуститься.

Попробуйте выполнить ./launcher rebuild app.

Я только что попробовал ./launcher rebuild app

Все еще безрезультатно.

Что выведет команда curl -v localhost?

*   Trying 127.0.0.1:80...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 80 (#0)
> GET / HTTP/1.1
> Host: localhost
> User-Agent: curl/7.68.0
> Accept: */*
>
* Recv failure: Connection reset by peer
* Closing connection 0
curl: (56) Recv failure: Connection reset by peer

Обновление:

Мы выполнили следующую команду: sudo systemctl restart docker.service

Она сработала на мгновение после обновления веб-страницы (сервер Nginx запустился), но при повторном обновлении снова появилась ошибка «отказ в подключении».

Также мы запустили: docker run -it --rm hello-world

Эта команда выполнилась без ошибок.

На данный момент мы полагаем, что проблема может быть в Discourse, а не в Docker.

Будем благодарны за любую помощь.

Мы только что выполнили команду docker log: ./launcher logs app

Вот что мы получили:

Если кто-то сможет помочь — будем благодарны.

Похоже, вы заказали слишком много сертификатов для этого домена на этой неделе. Теперь вам придется подождать неделю, так как можно получить только 5 сертификатов в неделю.

В настоящее время мы закомментируем SSL и пересоберем проект, чтобы проверить, будет ли это работать лучше.

В настоящее время мы перенастраиваем установку Discourse на VPS, поэтому мы не используем электронную почту Let’s Encrypt.

Обновление:

Обновление:

Мы перенастроили установку, запустили стандартную процедуру установки и не указали электронную почту Let’s Encrypt. Теперь мы вернулись к первоначальной ситуации, когда подключение отказывается работать.

Похоже, вы достигли лимитов Let’s Encrypt. Трудно понять, как обойтись без Let’s Encrypt, поэтому вы, вероятно, всё ещё запрашиваете сертификат (но теперь, если сертификат будет истекать, вы не получите предупреждение по электронной почте). Если я прав, то вы можете

  • подождать до следующей недели (просто, если вы не нетерпеливы)
  • использовать другое доменное имя (просто, если вы не очень любите своё имя или не разбираетесь в DNS)
  • следовать инструкции Настройка Let’s Encrypt для нескольких доменов (довольно сложно для новичка)
  • заплатить кому-то за помощь с настройкой нескольких доменов и/или выяснить, что проблема в чём-то другом