כיצד לפתור את שגיאת חידוש SSL בוא נוצפן בשרת לינוקס?
מדריך לחידוש שגיאות Certbot, בעיות אימות דומיין ותעודות SSL שפג תוקפן.
כאשר תוקף אישור ה-SSL של אתר אינטרנט יפוג, המבקרים יראו אזהרה לא מאובטחת בדפדפן שלהם. זה לא רק מפחית את אמון המשתמשים; WHMCS גם יוצר בעיות רציניות עבור מערכות תשלום, חיבורי API, לוחות משחקים וכניסות לקוחות.
אישורי Let's Encrypt הם בחינם אך יש לחדש אותם מעת לעת. אם Certbot אינו מוגדר כהלכה, החידוש ייכשל ותוקף ה-SSL עלול לפוג.
1. בדיקת תעודות זמינות
תחילה בדוק אילו אישורים קיימים בשרת:
certbot certificates
פקודה זו מציגה את שם האישור, הדומיינים, נתיבי הקובץ ותאריך התפוגה.
אם אין פקודת certbot ייתכן שהיא לא תהיה מותקנת:
certbot --version
2. ביצוע בדיקות רענון
כדי לבדוק את האישור לפני חידושו בפועל:
certbot renew --dry-run
פקודה זו בודקת את תהליך הרענון. אם יש שגיאה, זה מאפשר לך לראות את הבעיה לפני יום החידוש בפועל.
3. שגיאות Certbot הנפוצות ביותר
רוב שגיאות החידוש של Let's Encrypt קשורות לאימות דומיין וגישה לשרת אינטרנט.
- תגובה לא חוקית: Let's Encrypt לא יכול לגשת לקובץ האימות.
- החיבור סורב: נמל 80 או 443 עשוי להיות סגור.
- פסק זמן במהלך חיבור: ייתכן שהדומיין לא מופנה לשרת או שחומת האש חוסמת אותו.
- לא מורשה: ייתכן שקובץ אימות הדומיין מחזיר תוכן שגוי.
- יותר מדי תעודות: ייתכן שניסיונות אישור נעשו לעתים קרובות מדי.
4. בדיקת ניתוב IP של דומיין
כדי שחידוש האישור יעבוד, יש להפנות את הדומיין לכתובת ה-IP הנכונה של השרת.
dig domainadi.com +short
אם חפירה לא מותקנת:
apt install dnsutils -y
במערכות מבוססות CentOS:
yum install bind-utils -y
ה-IP המוחזר על ידי הדומיין חייב להיות זהה לכתובת ה-IP של השרת עליו יותקן SSL.
5. בדיקת יציאות 80 ו-443
Let's Encrypt רוצה לעתים קרובות לגשת ליציאה 80 עבור אימות HTTP. אם יציאה 80 סגורה, האימות עלול להיכשל.
ss -tulpn | grep -E ':80|:443'
אם אתה משתמש בחומת אש, ודא שהיציאות 80 ו-443 פתוחות.
עבור UFW:
ufw allow 80/tcp ufw allow 443/tcp ufw reload
עבור חומת אש:
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload
6. בדיקת Nginx או Apache Config
אם יש שגיאה בקובץ התצורה של שרת האינטרנט, ייתכן ששירות האינטרנט לא ייטען מחדש לאחר רענון ה-certbot.
עבור Nginx:
nginx -t
עבור אפאצ'י:
apachectl configtest
אם אין שגיאות, תוכל להתקין מחדש את השירותים:
systemctl reload nginx
או:
systemctl reload apache2
7. חידוש ידני של תעודת SSL
אם כל הבדיקות נכונות, תוכל להפעיל את הרענון באופן ידני:
certbot renew
דוגמה Nginx אם אתה רק צריך לאשר מחדש עבור דומיין ספציפי:
certbot --nginx -d domainadi.com -d www.domainadi.com
דוגמה של אפאצ'י:
certbot --apache -d domainadi.com -d www.domainadi.com
8. בדיקת מתזמן הרענון האוטומטי
Certbot בדרך כלל מתרענן אוטומטית עם טיימר systemd או cron.
systemctl list-timers | grep certbot
כדי לבדוק את מצב הטיימר:
systemctl status certbot.timer
אם הטיימר כבוי:
systemctl enable certbot.timer systemctl start certbot.timer
טעויות נפוצות
- מנסה להשיג SSL כאשר כתובת ה-IP של הדומיין שגויה
- סגור את יציאה 80 והמתן עד שאימות HTTP יפעל
- לא בודק את מבנה האימות כאשר פרוקסי Cloudflare פועל
- טעות בתצורה של Nginx/Apache לשגיאת certbot
- לא בודק חידוש אוטומטי עד שתוקף SSL יפוג
שאלות נפוצות
אם פג תוקף ה-SSL, האם האתר ייסגר לחלוטין?
ייתכן שהאתר יעבוד מבחינה טכנית, אך הדפדפן מציג אזהרת אבטחה. זה מפחית ברצינות את אמון הלקוחות.
מדוע חידוש Certbot נכשל?
בדרך כלל הדומיין מופנה ל-IP שגוי, יציאת 80/443 סגורה, תצורת שרת האינטרנט שגויה או שקובץ האימות אינו נגיש.
האם חידוש SSL מהווה בעיה בעת שימוש ב-Cloudflare?
מצב SSL שגוי או תצורת proxy שגויה עשויים להשפיע על תהליך האימות. יש לבחור שיטת אימות דומיין בהתאם.
המלצות בטיחות ותפעול
- בדוק תאריכי תפוגה של SSL באופן קבוע.
- הפעל את ה-certbot renew --מבחן הפעלה יבשה מעת לעת.
- אל תסגור את יציאות 80 ו-443 שלא לצורך.
- לאחר שינויים בתצורת שרת האינטרנט, הפעל את nginx -t או apachectl configtest.
- אל תזניח ניטור SSL בדומיינים המשתמשים בפאנלים של תשלום ולקוחות.
מאמר זה הוכן במיוחד עבור PvPServer.