تقوم شهادة SSL/TLS بتشفير الاتصال بين متصفحات زوارك والخادم لديك، فتحوّل http:// إلى https://. وهي تحمي بيانات تسجيل الدخول والمدفوعات وإرسال النماذج، وأصبحت متطلباً أساسياً لأي موقع حديث — إذ تصنّف المتصفحات صفحات HTTP العادية بأنها "غير آمنة"، وتعتبر محركات البحث HTTPS عاملاً في الترتيب.
يغطي هذا الدرس تثبيت الشهادة بثلاث طرق شائعة — AutoSSL في cPanel، وLet's Encrypt على Nginx، وLet's Encrypt على Apache — ثم فرض كل طلب على HTTPS وتفعيل HSTS. تعمل الخطوات على أي استضافة متوافقة مع المعايير، بما في ذلك استضافة Skyline السحابية.
قبل أن تبدأ
تأكد مما يلي:
- توجيه DNS إلى خادمك. يجب أن يشير سجل A (وسجل AAAA إذا كنت تستخدم IPv6) لنطاقك إلى عنوان IP العام للخادم. تتحقق سلطات الشهادات من ملكية النطاق عبر المنفذين 80/443، لذا يجب أن يكون هذا فعّالاً أولاً.
- المنفذان 80 و443 مفتوحان في جدار الحماية ومجموعة الأمان.
- لديك وصول عبر الطرفية أو لوحة التحكم. مستخدمو cPanel يحتاجون لوحة التحكم؛ ومستخدمو VPS والخوادم المخصصة يحتاجون SSH مع صلاحية
sudo.
يمكنك التحقق من وجهة نطاقك بالأمر:
dig +short A example.sa
اختيار نوع الشهادة
| النوع | التحقق | الأنسب لـ |
|---|---|---|
| التحقق من النطاق (DV) | ملكية النطاق فقط | المدونات والأعمال الصغيرة ومعظم المواقع |
| التحقق من المؤسسة (OV) | فحص هوية النشاط التجاري | المواقع المؤسسية |
| التحقق الموسّع (EV) | تدقيق قانوني كامل | البنوك والتجارة الإلكترونية الكبيرة |
| Wildcard | يغطي *.example.sa |
النطاقات الفرعية المتعددة |
بالنسبة لمعظم المواقع تكفي شهادة DV مجانية من Let's Encrypt. وإذا كنت تحتاج OV/EV أو Wildcard بدعم مضمون، تصدر Skyline شهادات مُدارة ضمن باقة الاستضافة لديك.
الخيار 1 — cPanel مع AutoSSL (الأسهل)
إذا كان موقعك يعمل على استضافة cPanel مشتركة أو مُدارة، فإن AutoSSL يتولى كل شيء تلقائياً.
- سجّل الدخول إلى cPanel.
- ضمن Security، افتح SSL/TLS Status.
- حدّد النطاقات التي تريد تغطيتها واضغط Run AutoSSL.
- خلال دقائق يتحوّل القفل إلى الأخضر وتُثبَّت شهادة DV مجانية مع تجديد تلقائي.
لتثبيت شهادة اشتريتها من جهة أخرى، اذهب إلى SSL/TLS ← Manage SSL sites، والصق الشهادة (CRT) والمفتاح الخاص (KEY) وحزمة CA، ثم اضغط Install Certificate.
الخيار 2 — Let's Encrypt على Nginx (خادم سحابي / VPS)
على خادم سحابي أو VPS، استخدم Certbot. على Ubuntu/Debian:
sudo apt update
sudo apt install certbot python3-certbot-nginx -y
أصدِر الشهادة واضبطها تلقائياً بأمر واحد:
sudo certbot --nginx -d example.sa -d www.example.sa
يتحقق Certbot من النطاق، ويحصل على الشهادة، ويعدّل كتلة الخادم (server block)، ويعرض إعداد إعادة توجيه HTTPS. اختر 2: Redirect عند الطلب لفرض HTTPS تلقائياً.
وإذا فضّلت الإعداد يدوياً، يجب أن تشير كتلة الخادم إلى الملفات الصادرة:
server {
listen 443 ssl;
server_name example.sa www.example.sa;
ssl_certificate /etc/letsencrypt/live/example.sa/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.sa/privkey.pem;
# بروتوكولات TLS الحديثة فقط
ssl_protocols TLSv1.2 TLSv1.3;
root /var/www/example.sa;
index index.html index.php;
}
اختبر وأعد التحميل:
sudo nginx -t && sudo systemctl reload nginx
الخيار 3 — Let's Encrypt على Apache
ثبّت إضافة Apache:
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d example.sa -d www.example.sa
ينشئ Certbot مضيفاً افتراضياً (virtual host) لـ SSL، وعند اختيارك إعادة التوجيه يضيف قاعدة HTTPS نيابةً عنك. تشير كتلة <VirtualHost *:443> المُولّدة إلى SSLCertificateFile وSSLCertificateKeyFile ضمن المسار /etc/letsencrypt/live/.
فرض HTTPS
تثبيت الشهادة وحده لا يمنع الزوار من الوصول إلى النسخة غير الآمنة http://. يجب أن تعيد توجيه كل زيارات HTTP إلى HTTPS بإعادة توجيه دائمة (301).
Nginx — أضف كتلة مخصصة للمنفذ 80:
server {
listen 80;
server_name example.sa www.example.sa;
return 301 https://$host$request_uri;
}
Apache — في ملف .htaccess أو المضيف الافتراضي:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
cPanel — ضمن Domains ← Force HTTPS Redirect، فعّل المفتاح لكل نطاق.
تفعيل HSTS
يُخبر بروتوكول HSTS (أمان النقل الصارم) المتصفحات بالاتصال عبر HTTPS فقط، ما يلغي الطلب الأول غير الآمن القصير ويحمي من هجمات التخفيض. أضف الترويسة بعد التأكد من عمل إعادة التوجيه.
Nginx (داخل كتلة الخادم على المنفذ 443):
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
Apache:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
ابدأ بقيمة max-age أقصر أثناء الاختبار ثم ارفعها. ولا تضِف includeSubDomains إلا بعد أن يعمل كل نطاق فرعي عبر HTTPS.
تحقق من أن كل شيء يعمل
- زُر
http://example.sa— يجب أن يعيد التوجيه إلىhttps://. - تأكد من القفل وصلاحية الشهادة في المتصفح.
- افحص إعادة التوجيه والترويسات من الطرفية:
curl -sI http://example.sa | grep -i location
curl -sI https://example.sa | grep -i strict-transport
- شغّل فحصاً خارجياً (مثل SSL Labs) للتأكد من درجة A وسلسلة شهادات صحيحة وعدم وجود محتوى مختلط.
إذا ظلّت الصفحات تظهر "غير آمنة"، فابحث عن المحتوى المختلط — وهي الموارد (صور، سكربتات، CSS) المكتوبة بشكل ثابت بـ http://. حدّثها إلى https:// أو استخدم روابط مستقلة عن البروتوكول.
التجديد
تدوم شهادات Let's Encrypt 90 يوماً. يثبّت Certbot مؤقت systemd أو مهمة cron تلقائياً؛ تحقق منها بـ:
sudo certbot renew --dry-run
أما AutoSSL في cPanel وشهادات Skyline المُدارة فتتجدد تلقائياً، فلا شيء عليك متابعته.
ملاحظة حول إقامة البيانات
إذا كان جمهورك في السعودية أو دول الخليج، فإن الاستضافة وإنهاء جلسة TLS داخل المملكة يُبقيان الزيارات ومفاتيح الشهادات على بنية تحتية متوافقة مع متطلبات PDPL وNCA وSDAIA — مع دعم محلي بالعربية عند الحاجة. هذا هو نموذج سحابة Skyline واستضافة البريد للأعمال. ولمزيد عن أنواع الشهادات وسلاسلها وحل المشكلات، راجع مركز موارد شهادات SSL.
ابدأ الآن
أطلق خادماً سحابياً أو استضافة ويب أو باقة WordPress مُدارة مع SSL مضمّن وإقامة بيانات داخل المملكة. أنشئ حسابك على Skyline Cloud وأمّن موقعك اليوم.
Comments
0 total · 0 threads