Я настроил тестовый сервер во внутренней сети (к которому нельзя подключиться извне, поэтому невозможно настроить Let’s Encrypt), и обнаружил, что nginx не слушает IPv6, даже если у сервера есть IPv6-адрес. В файле /etc/nginx/conf.d/discourse.conf внутри контейнера указано listen 80;, но отсутствует listen [::]:80;.
У меня есть ещё один производственный сервер, который нормально доступен по IPv6. Я поискал в Meta, чтобы понять, что не так с конфигурацией моего тестового сервера. В итоге выяснилось, что IPv6 работает нормально только если добавить web.letsencrypt.ssl.template.yml и web.ssl.template.yml в мой app.yml. Причина в том, что эти файлы добавляют listen [::]:80; и listen [::]:443 ssl http2; в конфигурационный файл nginx.
Команда может добавить поддержку IPv6 для установок без HTTPS, то есть добавить listen [::]:80; в web.template.yml.