أرى في قالب الويب حيث يتحقق مما إذا كان /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 معطل. استغرق الأمر أشهرًا لتوفير جهاز افتراضي سمحوا لي بالوصول إليه.)