كيفية تكوين Let's Encrypt SSL لتطبيق Azure Web

جدول المحتويات:

كيفية تكوين Let's Encrypt SSL لتطبيق Azure Web
كيفية تكوين Let's Encrypt SSL لتطبيق Azure Web
Anonim

بينما يوفر Azure العديد من الأدوات ، فإنه لا يحتوي على كل شيء. سنلقي نظرة على كيفية تكوين Let’s Encrypt SSL وظيفي لأي تطبيق Azure Web من أجل تزويده بالمستوى الضروري من الأمان لجميع العمليات القياسية عبر الإنترنت.

ما المقصود بتشفير؟

أول الأشياء أولاً ، دعنا نخرج Let’s Encrypt من الطريق. إذا ما هو؟ إنها مرجع مصدق آلي ومجاني ومفتوح. هذا يعني أنه يمكنك الحصول على شهادات SLL مجانية تمامًا ، وتغيير بنية عنوان URL الافتراضية من HTTP: // إلى HTTP: //.

لكن ما الفائدة؟ هل يمكن أن تكون بهذه السهولة؟ حسنًا ، تستمر شهادات SSL لمدة 90 يومًا فقط ، وليس لعدة سنوات مثل الشهادات الأخرى. ومع ذلك ، هناك سبب لذلك. يتم تشجيع الأتمتة ، ويمكنك جعل تجربة SSL الخاصة بك منسية (طالما لديك بعض البرامج النصية أو عملية الخلفية التي تقوم تلقائيًا بتجديد الشهادات وتثبيتها).

في الوقت الحاضر ، لا يوجد سبب حقيقي لعدم استخدام Let’s Encrypt ، ويتضح ذلك من خلال غالبية استخدامه في مجموعة متنوعة من الصناعات وتطبيقات الويب التابعة لها.

المتطلبات الأساسية للتكوين:

  1. حساب Azure نشط. (يمكن للطلاب الحصول على موارد Azure مجانًا.)
  2. أي تطبيق ويب تتم استضافته عبر خدمة التطبيقات. المكدس لا يهم.
  3. إدخال DNS مخصص يشير إلى تطبيق الويب.

في عالم مثالي ، تكون خدمة التطبيق وخطة خدمة التطبيق ضمن مجموعة الموارد نفسها. لكن من الممكن الاستغناء عن هذا

الخطوة 1: حساب تخزين WebJobs

حسنًا ، لذا فإن الخطوة الأولى هي إنشاء حساب تخزين Azure ، وهو امتداد سيسمح لنا بتجديد الشهادة كل 90 يومًا عبر Azure WebJobs.

يجب ألا يكون الحساب من BlobStorage ، لأنه لن يعمل. يجب أن يكون إما "Storage" أو "StorageV2."

إنشاء حساب تخزين Azure
إنشاء حساب تخزين Azure
يتم توصيل إعدادين منفصلين ، AzureWebJobsDashboard و AzureWebJobsStorage ، بعد ذلك
يتم توصيل إعدادين منفصلين ، AzureWebJobsDashboard و AzureWebJobsStorage ، بعد ذلك

الآن بعد أن تم ذلك. ستضيف إعدادين منفصلين: "AzureWebJobsDashboard" و "AzureWebJobsStorage" مع سلسلة تربطهما بحساب التخزين الذي تم إنشاؤه سابقًا.

يمكن أن تبدو السلسلة كما يلي:

DefaultEndpointsProtocol=https ؛ AccountName=[youraccount] ؛ AccountKey=[yourkey] ؛

الخطوة 2: أتمتة العملية

لكي يعمل الامتداد السابق دون تدخل منا ، يجب علينا إنشاء "Azure Service Principal" ، والذي يعمل خارج مفهوم التفويض عبر إدخال Azure AD.

حدد موقعك في Azure Active Directory ، حيث تريد إنشاء التطبيق الجديد. داخل اللوحة ، حدد "تسجيلات التطبيق".

  1. قم بإنشاء تطبيق جديد ، وقم بإعداده كما ترى في هذه الصورة.
  2. إنشاء تطبيق جديد
    إنشاء تطبيق جديد
  3. قم بإنشاء سر العميل وحفظه في مكان آمن. إذا لم تقم بذلك ، فلن تتمكن من الوصول إليه مرة أخرى عبر نص واضح.
  4. ارجع إلى النظرة العامة ، واحفظ "معرف العميل".
  5. الآن ، تحتاج إلى توفير وصول المساهمة إلى مدير الخدمة. يجب ربطها بمجموعة الموارد الخاصة بـ "خطة خدمة التطبيق" و "خدمة التطبيق".
  6. توفير وصول المساهمة إلى مدير الخدمة
    توفير وصول المساهمة إلى مدير الخدمة
  7. في القائمة التالية ، حدد دور "المساهم" ، وأضفه إلى "مدير الخدمة" الذي تم إنشاؤه.
  8. إذا كان لديك أي خدمات أخرى في المجموعة ، يمكنك إضافة دور المساهم إليها أيضًا.

يمكنك تعديل الإعدادات كما تريد ، ولكن هذا يتعلق بمدير الخدمة.

الخطوة 3: لنقم بتشفير الامتداد

الآن بعد أن أصبح لديك جميع المتطلبات الأساسية الثانوية ، يمكنك أخيرًا تثبيت الامتداد وتكوينه وفقًا لذلك.

انتقل إلى "خدمة التطبيق" ، وابحث عن امتداد Azure Let's Encrypt بواسطة "SJKP ."بعد تثبيته ، يمكنك متابعة التكوين.

لإعداد الامتداد ، عليك أن تنتقل بنفسك إلى صفحة "أدوات متقدمة" في "خدمة التطبيقات". يمكنك العثور عليه من خلال البحث عنه في شريط البحث ، ومن المحتمل أن يأخذك إلى موقع مثل هذا:

للوصول إلى الإعدادات ، انقر فوق الزر "ملحقات الموقع" وانقر على "تشغيل". الآن يجب أن تفتح صفحة التكوين ، وسيكون لديك الخيارات التالية.

  • Tenant: مدير Azure AD ، حيث تم إنشاء مدير الخدمة الخاص بك.
  • ClientID: نفس معرف العميل من قبل.
  • ClientSecret: نفس سر العميل من قبل.
  • ResourceGroupName:اسم مجموعة الموارد الخاصة بخدمة التطبيق التي تستخدمها.
  • SubscriptionID: معرف اشتراكك الذي تستخدمه لمجموعة الموارد.
  • تحديث إعدادات التطبيق: اضبطها دائمًا على True ، بحيث يتم حفظ جميع إعداداتك. وإلا فلن تتوفر الإعدادات لوظائف WebsJobs لتثبيت الشهادات الجديدة.
  • ServicePlanResourceGroupName: إذا كانت خدمة التطبيق وخطة الخدمة في نفس المجموعة ، فسيكون الاسم هو نفسه ResourceGroupName. خلاف ذلك ، ستدخل اسم مجموعة الموارد لموقع خطة الخدمة الفعلي.

بعد تكوين جميع الخيارات ، سيتم نقلك إلى نظرة عامة على الشهادات وارتباطات SSL والمجالات المخصصة. نظرًا لأنك ما زلت بحاجة إلى إنشائها ، يمكنك تحديد المجالات الخاصة بك للطلب ، وإرسال "الحصول على طلب" للحصول على شهادة SSL.

لكن قبل القيام بذلك ، يجب عليك إضافة بريدك الإلكتروني ، بحيث يمكنك الحصول على تنبيهات في حالة حدوث أي خطأ في الشهادة (مثل كونها قديمة أو لم يتم تجديدها).

وهذا كل ما في الأمر. الآن تم إعداد كل شيء ، ويمكنك الاستمتاع بمكافأة إكمال المهمة بنفسك.

المشكلات المحتملة

نظرًا لأن الامتداد يحتاج إلى الوصول إلى صفحاتك من أجل ترخيص المجال ، تأكد من أن عنوان URL يمكن الوصول إليه للجمهور عبر

إذا حدث خطأ ولم يتم الوصول إلى عنوان URL ، فمن المحتمل أن يكون لديك مجموعة القواعد على web.config التي تمنع الوصول أو يتم فرض HTTPS عبر إعدادات خدمة التطبيق.

أيضًا ، نظرًا لأن Let’s Encrypt يستخدم آلية HTTP-01 في ACME ، فإنه سيضع رمزًا مميزًا عشوائيًا في الملف على خادم الويب الخاص بك ، ثم سيحاول استرداده عبر HTTP. إذا قمت بتعيين تطبيق الويب على https فقط ، فسيتم رفض الطلب ، وهو أمر تريد تجنبه.

موضوع شعبي