Я вижу в шаблоне веб-интерфейса, где проверяется существование /proc/net/if_inet6 и отключается прослушивание [::]:80, но в файле nginx по умолчанию всё ещё есть такая запись.
Я добавил следующие команды, чтобы попытаться исправить это:
- exec: sed -i '/listen \[::\]:80 default_server;/d' /etc/nginx/sites-available/default
- exec: sed -i 's/listen 80 default_server;/listen 0.0.0.0:80 default_server ipv6only=off;/' /etc/nginx/sites-available/default
- exec: sed -i 's/listen 80 default_server;/listen 0.0.0.0:80 default_server ipv6only=off;/' /etc/nginx/conf.d/discourse.conf
Однако в логах я всё ещё вижу следующее:
2025/09/02 21:34:29 [emerg] 359#359: socket() [::]:80 failed (97: Address family not supported by protocol)
2025/09/02 21:34:34 [notice] 3240#3240: signal process started
2025/09/02 21:34:34 [error] 3240#3240: open() "/run/nginx.pid" failed (2: No such file or directory)
Давным-давно это казалось невозможным:
Кто-нибудь действительно добился работы Discourse при отключённом на уровне ядра IPv6?
(Почему? Потому что виртуальная машина, предоставленная кем-то, имеет отключённый IPv6. Мне потребовались месяцы, чтобы получить доступ к ВМ, которую они для меня подготовили.)