Ich sehe in der Webvorlage, wo geprüft wird, ob /proc/net/if_inet6 existiert und das Abhören von [::]:80 abgeschaltet wird, aber in der Standard-Nginx-Datei gibt es immer noch eine.
Ich habe Folgendes hinzugefügt, um das zu beheben:
- 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
Aber ich sehe immer noch Folgendes in den Protokollen:
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)
Vor langer Zeit schien es unmöglich:
Hat jemand Discourse tatsächlich mit deaktiviertem IPv6 auf Kernel-Ebene zum Laufen gebracht?
(Warum? Weil die von jemandem bereitgestellte VM IPv6 deaktiviert hat. Es dauerte Monate, bis sie eine VM bereitstellten, auf die sie mir Zugriff gewährten.)