⚠ Порт 443 этого компьютера, похоже, недоступен по имени узла: metabolism.logophilia.eu ----

Здравствуйте, после получения сообщения « Порты 80 и 443 свободны для использования» во время инициализации я получаю ошибку, указанную в теме (см. также ниже). DNS настроен, SSL сконфигурирован, сайт доступен извне (проверьте сами), вывод curl (усечён) приведён ниже, то есть доступ с самой машины также есть. У меня закончились идеи, что именно упущено. Благодарю за любые подсказки.

PS. AlmaLinux 10.2 - 6.12.0-211.7.4.el10_2.x86_64

# ./discourse-setup  
→ Проверка наличия обновлений образа мастера настройки... 
→ Запуск мастера настройки Discourse... 
 
 
 ___  _ 
|   \(_)___ __ ___ _  _ _ _ ___ ___ 
| |) | (_-< / _/ _ \ || | '_(_-< / -_) 
|___/|_/__/\__\___/\_,_|_| /__/\___| 
                       Мастер настройки 
 
 
→ Этот мастер поможет вам настроить установку Discourse. 
→ В любой момент нажмите Ctrl+C для отмены. 
 
── Проверка системы ── 
 
[1/5] Проверка системных требований 
✓ Запуск от имени root 
✓ Docker доступен 
✓ Память: 8 ГБ, CPU: 4 ядра 
 
── Конфигурация ── 
 
[2/5] Подготовка конфигурации 
✓ Порты 80 и 443 свободны для использования 
→ Создание новой конфигурации... 
→ Создание новой конфигурации из шаблона... 
 
── Настройки сайта ── 
 
[3/5] Введите данные вашего сайта 
 
Адрес электронной почты для учётной записи(ей) администратора? 
eduard.pech@logophilia.eu▌ 
 
Есть ли у вас доменное имя для вашего Discourse? 
▸ Да      Нет 
 
Имя хоста для вашего Discourse? 
metabolism.logophilia.eu▌ 
 
Настроить SMTP для отправки писем? (Требуется учётная запись SMTP) 
  Да    ▸ Нет 
 
 
── Проверка конфигурации ── 
 
 
╭────────────────────────────────────────────╮ 
│                                            │ 
│  Имя хоста        metabolism.logophilia.eu   │ 
│  Email админа     eduard.pech@logophilia.eu  │ 
│  SMTP             (не настроено)           │ 
│  Let's Encrypt    Включено                    │ 
│                                            │ 
╰────────────────────────────────────────────╯ 
 
 
Всё ли выглядит правильно? 
▸ Да      Нет 
→ Обнаружено 8 ГБ памяти и 4 ядра CPU 
→ Установка db_shared_buffers = 2048 МБ 
→ Установка UNICORN_WORKERS = 8 
 
── Проверка сети ── 
 
[4/5] Проверка конфигурации домена 
→ Проверка вашего доменного имени... 
⚠ Порт 443 этой машины, по-видимому, недоступен по имени хоста: metabolism.logophilia.eu 
⚠ Подключение к http://metabolism.logophilia.eu (порт 80) также не удаётся. 
 
Это означает, что metabolism.logophilia.eu разрешается в какой-то IP-адрес, который не ведёт к этой 
машине, на которой вы устанавливаете Discourse. 
 
Первое, что нужно сделать, — убедиться, что metabolism.logophilia.eu разрешается в IP-адрес этого сервера. 
Обычно это делается в том же месте, где вы покупали домен. 
 
Если вы уверены, что IP-адрес разрешается корректно, проблема может быть в брандмауэре. 
Поиск в интернете по запросу «открыть порты ВАШЕ ОБЛАЧНОЕ ОБСЛУЖИВАНИЕ» может помочь. 
 
Этот инструмент предназначен только для самых стандартных установок. Если вы не сможете решить 
проблему выше, вам придётся самостоятельно отредактировать containers/app.yml, а затем ввести: 
 
    ./launcher rebuild app 
 
 
✗ Проверка DNS для metabolism.logophilia.eu не удалась 
[root@logophilia discourse]# dig metabolism.logophilia.eu 
 
; <<>> DiG 9.18.33 <<>> metabolism.logophilia.eu 
;; global options: +cmd 
;; Got answer: 
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36726 
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 
 
;; OPT PSEUDOSECTION: 
; EDNS: version: 0, flags:; udp: 512 
;; QUESTION SECTION: 
;metabolism.logophilia.eu.      IN      A 
 
;; ANSWER SECTION: 
metabolism.logophilia.eu. 300   IN      A       75.119.134.68 
 
;; Query time: 8 msec 
;; SERVER: 213.136.95.10#53(213.136.95.10) (UDP) 
;; WHEN: Sat Jun 06 04:52:23 CEST 2026 
;; MSG SIZE  rcvd: 69 
 
[root@logophilia discourse]# curl -v https://metabolism.logophilia.eu 
* Host metabolism.logophilia.eu:443 was resolved. 
* IPv6: (none) 
* IPv4: 75.119.134.68 
*   Trying 75.119.134.68:443... 
* ALPN: curl offers h2,http/1.1 
* TLSv1.3 (OUT), TLS handshake, Client hello (1): 
*  CAfile: /etc/pki/tls/certs/ca-bundle.crt 
*  CApath: none 
* TLSv1.3 (IN), TLS handshake, Server hello (2): 
* TLSv1.3 (IN), TLS change cipher, Change cipher spec (1): 
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): 
* TLSv1.3 (IN), TLS handshake, Certificate (11): 
* TLSv1.3 (IN), TLS handshake, CERT verify (15): 
* TLSv1.3 (IN), TLS handshake, Finished (20): 
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): 
* TLSv1.3 (OUT), TLS handshake, Finished (20): 
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS 
* ALPN: server accepted http/1.1 
* Server certificate: 
*  subject: CN=metabolism.logophilia.eu 
*  start date: Jun  6 00:26:43 2026 GMT 
*  expire date: Sep  4 00:26:42 2026 GMT 
*  subjectAltName: host "metabolism.logophilia.eu" matched cert's "metabolism.logophilia.eu" 
*  issuer: C=US; O=Let's Encrypt; CN=YR2 
*  SSL certificate verify ok. 
*   Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption 
*   Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption 
*   Certificate level 2: Public key type RSA (4096/152 Bits/secBits), signed using sha256WithRSAEncryption 
*   Certificate level 3: Public key type RSA (4096/152 Bits/secBits), signed using sha256WithRSAEncryption 
* Connected to metabolism.logophilia.eu (75.119.134.68) port 443 
* using HTTP/1.x 
> GET / HTTP/1.1 
> Host: metabolism.logophilia.eu 
> User-Agent: curl/8.12.1 
> Accept: */* 
>  
* Request completely sent off 
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): 
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): 
< HTTP/1.1 200 OK 
< Date: Sat, 06 Jun 2026 02:52:36 GMT 
< Server: Apache 
< Last-Modified: Sat, 06 Jun 2026 01:25:19 GMT 
< ETag: "1325f-6538ba67ff892" 
< Accept-Ranges: bytes 
< Content-Length: 78431 
< Content-Type: text/html; charset=UTF-8 
<  
<!doctype html> 
<html lang="en" data-bs-theme="auto"> 
<head> 
  <title> 
    metabolism.logophilia.eu &mdash;  Domain welcome page for  </title> 
  <meta charset="utf-8">
……


Привет,

Я сам проверил ваш веб-сайт. Похоже, ваш хостинг-провайдер захватывает порт 443 для отображения этой приветственной страницы. Вам нужно узнать, как полностью освободить порты 443/80, чтобы Discourse мог управлять ими.

Я уже сделал это: VPS управляется через Virtualmin, и там стоит просто галочка. К сожалению, когда я снимаю галочку «Включить сайт», я не могу выполнить curl к портам 443/80 с хоста, а установка Discourse по-прежнему выдаёт ту же ошибку. Поэтому я подумал, что стоит снова включить сайт, чтобы хотя бы показать, что рукопожатие SSL работает.

Как видно из моего первоначального сообщения, установка Discourse изначально утверждает, что порт 443 доступен. Это моя первая установка, и я интерпретировал это как: всё в порядке. Так почему же установка «меняет решение»?

С другой стороны, мне не обязательно понимать каждую деталь. Просто сообщаю: при отключённом Apache на поддомене результат работы установки Discourse остаётся прежним.

Спасибо за уделённое время. Если потребуется дополнительная информация для прояснения ситуации, я предоставлю (почти) всё что угодно.

У меня была та же проблема (на моём собственном сервере дома):

Я считаю, что исправление заключается в выполнении следующей команды, если вы на 100% уверены, что DNS настроен верно и порты работают корректно.

./install-discourse --skip-connection-test

Спасибо, похоже, это помогло! :purple_heart:

Скрипт теперь работает на отлично (5/5), и, кажется, загружается/устанавливается множество дополнительных компонентов. Сейчас SSL-сертификат отображается неверно; думаю, это связано с ожиданием истечения TTL, либо всё наладится после завершения настройки.

Хотя я совершенно не разбираюсь в Discourse, Docker или даже Ruby, с DNS-настройками у меня никогда не бывает проблем :slight_smile: Ещё раз спасибо!

Я вижу, что это уже отмечено как решение. Но у меня есть ещё один вопрос, если можно.

Я знаю, что Postgres необходим, но об этом не упоминается в

https://github.com/discourse/discourse/blob/main/docs/INSTALL-cloud.md

Поэтому я подумал, что образ Docker уже включает установленный Postgres. Не могли бы вы уточнить, нужно ли мне устанавливать Postgres на VPS? Поскольку в инструкциях по установке об этом не говорится.

… или, может быть, в Docker уже есть Postgres, но скрипт каким-то образом не сработал? Потому что он завершает работу в конце:

........
I, [2026-06-06T04:23:49.114769 #1]  INFO -- : Файл > /etc/runit/1.d/install-ssl  chmod: +x  chown: 
I, [2026-06-06T04:23:49.114999 #1]  INFO -- : Замена # после ssl на if [ -z "$DISABLE_LETSENCRYPT" ] || [ -n "$ENABLE_LETSENCRYPT" ]; then
  /usr/local/bin/configure-ssl
  exec /usr/local/bin/configure-letsencrypt
fi
# после ssl в /etc/runit/1.d/install-ssl
I, [2026-06-06T04:23:49.125964 #1]  INFO -- : Файл > /usr/local/bin/configure-ssl  chmod: +x  chown: 
I, [2026-06-06T04:23:49.127031 #1]  INFO -- : > curl https://raw.githubusercontent.com/acmesh-official/acme.sh/3.0.6/acme.sh > /opt/acme.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  215k  100  215k    0     0   635k      0 --:--:-- --:--:-- --:--:--  637k
I, [2026-06-06T04:23:49.514883 #1]  INFO -- : > chmod +x /opt/acme.sh
I, [2026-06-06T04:23:49.554670 #1]  INFO -- : Файл > /usr/local/bin/configure-letsencrypt  chmod: +x  chown: 
I, [2026-06-06T04:23:49.596808 #1]  INFO -- : Файл > /usr/local/bin/letsencrypt  chmod: +x  chown: 
I, [2026-06-06T04:23:49.598926 #1]  INFO -- : > echo "Начало пользовательских команд"
Начало пользовательских команд
I, [2026-06-06T04:23:49.605809 #1]  INFO -- : > echo "Конец пользовательских команд"
Конец пользовательских команд
I, [2026-06-06T04:23:49.608842 #1]  INFO -- : Завершение асинхронных процессов
I, [2026-06-06T04:23:49.609015 #1]  INFO -- : Отправка INT для HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main pid: 44
I, [2026-06-06T04:23:49.609157 #1]  INFO -- : Отправка TERM для exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 111
2026-06-06 04:23:49.609 UTC [44] LOG:  получен запрос на быстрое завершение работы
111:signal-handler (1780719829) Получен SIGTERM, планирование завершения работы...
2026-06-06 04:23:49.612 UTC [44] LOG:  прерывание любых активных транзакций
2026-06-06 04:23:49.619 UTC [44] LOG:  фоновый рабочий процесс "logical replication launcher" (PID 58) завершился с кодом выхода 1
2026-06-06 04:23:49.623 UTC [53] LOG:  завершение работы
2026-06-06 04:23:49.634 UTC [53] LOG:  начало контрольной точки: завершение работы немедленно
111:M 06 Jun 2026 04:23:49.683 * Пользователь запросил завершение работы...
111:M 06 Jun 2026 04:23:49.683 * Сохранение финального снапшота RDB перед выходом.
111:M 06 Jun 2026 04:23:49.698 * База данных сохранена на диск
111:M 06 Jun 2026 04:23:49.700 # Redis теперь готов к выходу, пока...
2026-06-06 04:23:49.711 UTC [53] LOG:  контрольная точка завершена: записано 87 буферов (0.0%); добавлено 0 файлов WAL, удалено 0, переработано 0; запись=0.041 с, синхронизация=0.022 с, всего=0.088 с; файлы синхронизации=52, максимальное время=0.008 с, среднее=0.001 с; расстояние=86 КБ, оценка=86 КБ
2026-06-06 04:23:49.735 UTC [44] LOG:  система баз данных завершена