نخستین گام برای پشتیبانی یک وبسایت از HTTPS، تهیهی گواهینامهی SSL است. دریافت گواهینامه SSL رایگان در ابر آروان تنها با یک کلیک فراهم شده است. گواهینامهها (Certificate) نوعی فایل هستند که Certificate Authority یا CAها صادر میکنند. برای تهیهی گواهینامهی SSL نیاز به گذراندن چند مرحله است که بهطور خلاصه این مراحل عبارتاند از:
- تولید CSR
- ارسال CSR برای یک CA معتبر
- نصب گواهینامه SSL دریافتی از CA روی سرور
- انجام تمام مراحل بالا با هر بار انقضای گواهینامه
بروز مشکل و خطا در هریک از این مراحل سبب میشود که ارتباط HTTPS میان مرورگر و سرور برقرار نشود.
ابر آروان در سالهای اخیر تلاش کرد تا با مذاکرات با Let’s Encrypt این امکان را برای کاربران خود فراهم کند که بر بستر ابر آروان و تنها با یک کلیک از «گواهینامهی رایگان SSL» سه ماههی این شرکت، بهرهمند شوند. به این ترتیب کاربران ابر آروان برای تهیهی این گواهینامه هزینهای پرداخت نمیکنند، همچنین پس از منقضی شدن مدت زمان این گواهینامه، بدون هیچ اقدام اضافهتری این گواهینامه برای آنان بهشکل خودکار تمدید میشود. مزیت بزرگتر خدمت گواهینامهی SSL رایگان ابر آروان، ارایهی این گواهینامهها بهشکل Wildcard است. شما میتوانید با مطالعه شیوهی دریافت گواهینامهی SSL رایگان ابر آروان برای وبسایت خود اطلاعات مورد نیاز را کسب کنید.
هنگام استفاده از گواهینامه رایگان SSL ابر آروان، دیگر نیازی به نصب گواهینامه روی سرور اصلی میزبان سایت خود و دشواریهای انجام این عمل نیست. با فعال کردن این گزینه در پنل ابر آروان، ارتباطات میان کاربران شما و سرورهای لبه ابر آروان بر بستر HTTPS خواهد بود اما دقت داشته باشید که ارتباط میان سرورهای ما و سرور اصلی میزبان سایت شما همچنان بر بستر HTTP است. در این موقعیت برای برقراری ارتباطی امن میان سرور اصلی میزبان سایت خود و سرورهای لبه ابر آروان میتوانید با دریافت گواهینامهی SSL بهطور رایگان و نصب آن روی سرور اصلی میزبان سایت خود این ارتباط را نیز امن کنید.
دراین مطلب سعی شده است برای آن دسته از مشتریان آروان که بنا به هر دلیلی تمایل یا امکان استفاده از گواهینامهی رایگان ابر آروان را ندارند یا درصدد تولید گواهینامهای رایگان برای نصب روی سرور اصلی میزبان سایت خود بهمنظور برقراری ارتباطی امن با سرورهای لبه ابر آروان هستند، روش اخذ این گواهینامه از Let’s Encrypt با کمک Certbot، همچنین با استفاده از وبسایت SSL for Free آموزش داده شود.
صدور گواهینامهی SSL رایگان Let’s Encrypt با استفاده از Certbot
Let’s Encrypt درواقع SSL CA است که (Internet Security Research Group (ISRG آن را مدیریت و گواهینامههای رایگانی را برای تمام دامنهها تولید میکند. برای دریافت گواهینامه از LET’s Encrypt باید از نرمافزارهایی استفاده شود که از پروتکل ACME پشتیبانی میکنند و روی وبسرور اجرا میشوند. در زیر مراحل صدور گواهینامه با استفاده از Certbot شرح داده شده است.
۱. نصب پیشنیازها
اگر میتوانید از ACM client Certbot استفاده کنید که به وبسرور دسترسی SSH داشته باشید. پس از برقراری ارتباط SSH با وبسرور، نیاز است تا از پشتیبانی سیستم از Python 2.7 یا 3 مطمین شوید. برای نصب پیشنیازها میتوان از دستورات زیر استفاده کرد:
apt-get update apt-get install python-minimal python --version apt-get install git-core git --version
۲. نصب Certbot
گام بعدی نصب Certbot است. برای نصب Certbot از github دستورات زیر را اجرا کنید:
cd /opt git clone https://github.com/certbot/certbot.git
۳. تولید Wildcard SSL Certificate
گواهینامهی Wildcard این امکان را در اختیار شما قرار میدهد که با دریافت تنها یک گواهینامه، HTTPS را برای دامنه و تمام زیردامنههای خود فعال کنید. به این ترتیب نیاز به تهیهی گواهینامههای جدا بهازای هر زیردامنه نیز از بین میرود.
برای تولید یک گواهینامهی wildcard از دستور زیر استفاده میشود:
certbot-auto certonly --manual --preferred-challenges=dns --email your@email.com --server https://acme-v02.api.letsencrypt.org/directory --agree-tos -d *.example.com
در دستور بالا بهجای your@email.com نشانی ایمیل خود و بهجای example.com نشانی دامنهی خود را قرار دهید. برای تولید گواهینامهی Wildcard حتمن باید در ابتدای نشانی دامنه، علامت * (همانند آنچه در دستور آمده) آورده شود.
اگر نیاز به دریافت چند گواهینامه دارید، میتوانید باز هم از گزینهی d– به همراه نام دامنهی خود در دستور بالا استفاده کنید.
۴. اعتبارسنجی مالکیت دامنه
در این مرحله Certbot برای اطمینان از آنکه دامنهی وارد شده متعلق به شماست، درخواست میکند تا TXT recordای را به DNS خود اضافه کنید.
علت این امر نیز استفاده از گزینهی preferred-challenges=dns– در دستور گام قبل است. این درخواست چیزی مشابه بخش آخر تصویر زیر است:
اگر با چگونگی اضافه کردن DNS Record آشنایی ندارید میتوانید از مستندات میزبان وبسایت خود برای دریافت اطلاعات بیشتر استفاده کنید.
برای افزودن این TXT record، به بخش مدیریت DNS دامنهی خود بروید و TXT record را با مشخصات زیر ایجاد کنید:
- نام (Record Name): طبق آنچه در خروجی مشخص شده است، نام رکورد باید acme-challenge_ باشد (وابسته به نوع DNS Provider شاید لازم باشد تا نام بهشکل: _ acme-challenge.example.com وارد شود).
- مقدار (Record Value): این فیلد باید با همان مقدار مشخص شدهی Certbot پر شود. برای نمونه در تصویر بالا، Certbot این مقدار را VWHqMqojnAZb8oLV2ZMaqaeUUyiTAX4-3KeokqJ69hE تعیین کرده است.
پس از ایجاد این رکورد، تنظیمات جدید را ذخیره کنید و در پنجرهی Certbot دکمهی Enter را فشار دهید.
۵. بررسی موفقیتآمیز بودن صدور گواهینامه (گامی اختیاری)
پس از گذراندن مراحل بالا، اگر صدور گواهینامه موفقیتآمیز بود، با صفحهای بهشکل زیر روبهرو میشوید:
همچنین برای اطمینان بیشتر از صدور گواهینامه میتوانید از دستور certificate نیز در Certbot استفاده کنید:
~# certbot-auto certificates Saving debug log to /var/log/letsencrypt/letsencrypt.log ----------------------------------------------------------------- -------------- Found the following certs: Certificate Name: example.com Domains: *.example.com Expiry Date: 2018-06-14 18:18:58+00:00 (VALID: 89 day) Certificate Path: /etc/letsencrypt/live/nodebb.com/fullchain.pem Private Key Path: /etc/letsencrypt/live/nodebb.com/privkey.pem -----------------------------------------------------------------
صدور گواهینامه Let’s Encrypt با استفاده از وبسایت SSL For Free
یک روش دیگر برای دریافت گواهینامهی Let’s Encrypt استفاده از وبسایت SSL For Free است. در این وبسایت تنها با وارد کردن نام دامنهی خود میتوانید بهراحتی گواهینامهی رایگان Let’s Encrypt دریافت کنید.
تجدید گواهینامهی صادر شده
گواهینامههای صادر شدهی Let’s Encrypt معمولن دارای اعتباری سه ماهه هستند و پس از آن باید تجدید شوند. برای تجدید گواهینامه با استفاده از Certbot کافی است دستور: certbot-auto renew اجرا شود.
نکته: در هنگام دسترسی نداشتن SSH به وبسرور، باید از خدمات میزبان وبسایت خود استفاده کنید. با پشتیبانی میزبان شما از Let’s Encrypt، آنها از جانب شما گواهینامهای را درخواست، نصب و بهشکل خودکار بهروزرسانی میکنند.