بررسی یک API و گواهی مشکل در تعطیلات – وبلاگ
کانکشن موبایل

بررسی یک API و گواهی مشکل در تعطیلات – وبلاگ

در تعطیلات کریسمس ، به ما هشدار داده شد و یک مسئله API برطرف کردیم که به طور خلاصه از پرداخت و ایجاد حساب های جدید به مشتریان جلوگیری می کرد. ما از شما در پشت صحنه دعوت می کنیم تا بدانید چه اتفاقی افتاده است.

مروری بر آنچه اتفاق افتاده است

در 29 دسامبر سال 2020 به ما هشدار داده شد که API آنطور که باید پاسخ نمی دهد. بازرسی اولیه به ما این تصور را داد که سرویس Keepalived ما (که برای به اشتراک گذاشتن یک IP شناور در یک گره سالم استفاده می شود) به دلیل عدم تمدید اشتباه گواهی Let’s Encrypt به درستی کار نمی کند.

در طی پنج ساعت ، ما تحقیق کردیم پس از این واقعیت تأیید شد که رمزگذاری سخت گواهینامه میانی (که در تابستان سال 2020 در Certbot Dockerfile ما انجام شده است) باعث ایجاد مشکل شد ، تأییدی را ایجاد کرده و برنامه ما را مجبور به استفاده از آن می کند. [19659002] این امر چگونه بر مشتریان تأثیر می گذارد

در این مدت ، مشتریان قادر به ایجاد حساب های جدید و پرداخت به حساب های موجود نبودند.

عوامل کمک کننده

ما به اشتباه تصور کردیم که Let&;s Encrypt گواهی متوسط ​​پیش فرض خود را تغییر نمی دهد (یکی همانطور که در وب سایت Let&;s Encrypt نشان داده شده است ، قبل از اینکه نسخه X3 در 17 مارس 2021 فاقد اعتبار شود ، استفاده می کردیم.

با استفاده از گواهی های تاریخی به عنوان مرجع ، نسخه X2 در 20 اکتبر 2020 منقضی شد. نگاهی به X2 به ما کمک کرد تا تأیید کنیم Certbot شروع به استفاده از گواهینامه های میانی جدیدتر قبل از انقضا گواهینامه های قدیمی می کند. گواهی (که Certbot ما استفاده از آن را در سرورهای ما انتخاب کرده بود) باطل شد.

راه حل طولانی مدت ما

ما یک راه حل طولانی مدت آماده کرده ایم که از بروز مجدد این مسئله جلوگیری می کند. این برنامه قبل از پایان این ماه مستقر خواهد شد و همزمان با تمدید گواهینامه های اجازه رمزگذاری در همه برنامه های وب روبرو هستیم.

جدول زمانی دقیق رویدادها

همه زمان ها به وقت محلی ، سوئد است. [19659016] 2020-12-29 13:15 تیم های زیرساخت و خدمات نسبت به یک API تا حدودی معیوب هشدار می یابند.

  • 2020-12-29 13:50 تحقیقات با اعضای هر دو تیم پس از جمع شدن همه آنها به صورت آنلاین آغاز می شود.
  • 29/12/20 14:15 تحقیقات اولیه ما به پایان رسیده است ، و ما شروع به استفاده از اصلاحات بالقوه در مورد آنچه که فکر می کنیم در مورد Keepalived باشد ، می کنیم.
  • 2020-12-29 14:30 ما اصلاحات دیگری را برای کاهش برای افزودن تنظیمات شبکه ساکن ، مسئله را زنده نگه دارید.
  • 2020-12-29 14:45 ادامه تحقیقات ما را به مطالعه پیکربندی Nginx و سوابق خطای Nginx می رساند (در اینجا ما فقط می توانیم خطاهای سمت سرور را مشاهده کنیم ، هیچ داده ای از کاربر یافت نمی شود) همانطور که انتظار داشتید). تحقیقات در حال انجام است ، سایر اعضای تیم در صورت لزوم به آنها کمک می کنند و برخی از اصلاحات آماده استفاده هستند.
  • 2020-12-29 15:00 ما برخی از تغییرات را در پیکربندی Nginx خود اعمال می کنیم ، سپس وضعیت را کنترل می کنیم و تحقیقات را ادامه می دهیم. [19659017] 2020-12-29 15:30 بحث ها و تئوری ها در مورد این موضوع که گواهی Let&;s Encrypt شروع به آشکار شدن می کند و راه حل های مستقیم بیشتری نیز در دست انجام است.
  • 2020-12-29 16:00 Let&;s Encrypt به نظر می رسد که این تئوری درست است و کار برای رفع مشکل آغاز می شود.
  • 2020-12-29 16:30 رفع اشکال در سرور اصلی خوشه API ما مستقر شده و به صورت عملکرد حل می شود.
  • 2020-12-29 17:45 پس از مرگ و ادامه بحث و گفتگو در بین تیم ها ، این مسئله به عنوان حل شده علامت گذاری شده است.
  • .