קניתם דומיין, יש לכם VPS, והדפדפן עדיין אומר "לא ניתן להגיע לאתר". החלק החסר הוא כמעט תמיד שתי רשומות DNS ושרת אינטרנט שבאמת עונה בכתובת הנכונה. הנה כל הדרך, מהרשם ועד מנעול HTTPS שעובד.
לפני שמתחילים: התוכנית שלכם מקבלת תעבורת רשת?
מבקרים מתחברים לפורטים 80 ו-443 בשרת. זה דורש תוכנית עם IP ציבורי משלה. תוכניות NAT מעבירות רק את פורט ה-SSH האישי שלכם, ולכן לא יכולות לארח אתר על דומיין — המאמר שלנו IP ייעודי או NAT מסביר את ההבדל. אתר קטן רץ מצוין על Nano-IP.
1. מצאו את הכתובות של השרת
כתובות ה-IPv4 וה-IPv6 מופיעות בעמוד השרת בלוח הבקרה. בדוגמאות נשתמש בכתובות תיעוד:
- IPv4:
203.0.113.10 - IPv6:
2001:db8::10
2. צרו את רשומות ה-DNS
היכנסו למקום שבו מנוהל ה-DNS של הדומיין (בדרך כלל אצל הרשם) והוסיפו:
| סוג | שם | ערך | TTL |
|---|---|---|---|
| A | @ | 203.0.113.10 | 300 |
| AAAA | @ | 2001:db8::10 | 300 |
| CNAME | www | example.com. | 300 |
@ פירושו הדומיין הראשי. TTL קצר כמו 300 שניות הופך תיקון טעויות לזול; אפשר להעלות אותו ל-3600 כשהכול עובד.
אם עדיין לא רוצים IPv6, דלגו בינתיים על רשומת ה-AAAA — ראו את האזהרה בשלב 5.
3. בדקו שה-DNS עונה
אל תסמכו על הודעת "נשמר" של הרשם. שאלו את ה-DNS ישירות:
dig +short example.com A
dig +short example.com AAAA
dig +short www.example.com
dig +short example.com A @1.1.1.1
השורה האחרונה שואלת resolver ציבורי, שקרוב יותר למה שהמבקרים שלכם רואים. אם קיבלתם בחזרה את ה-IP שלכם, ה-DNS מוכן.
4. תגרמו לשרת לענות
התקינו nginx ופתחו את הפורטים:
apt update && apt install -y nginx
ufw allow 80/tcp
ufw allow 443/tcp
פתחו את http://example.com — אמור להופיע דף הפתיחה של nginx. עכשיו הוסיפו HTTPS עם תעודה חינמית:
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com
Certbot עורך את הגדרות nginx, מגדיר הפניה ל-HTTPS ומחדש את התעודה אוטומטית. לאפליקציה אמיתית מאחורי nginx, עקבו אחרי המדריך ל-reverse proxy עם HTTPS.
5. המלכודת של IPv6
בזו נופלים הרבה. מוסיפים רשומת AAAA, אבל nginx מאזין רק ב-IPv4. מבקרים ב-IPv6 (הרבה רשתות סלולריות) מנסים קודם את כתובת ה-IPv6 ונכשלים. ודאו שבבלוק ה-server יש את שתי השורות:
listen 80;
listen [::]:80;
ההגדרה ברירת המחדל של nginx ב-Ubuntu כבר כוללת [::], אבל הגדרות מותאמות מפילות אותה לעיתים קרובות. בדקו ממחשב עם IPv6:
curl -6 -I https://example.com
בעיות נפוצות
- ה-IP הישן עדיין מופיע: ה-resolver המקומי שמר אותו במטמון. חכו שה-TTL יפוג או שאלו את
@1.1.1.1כמו למעלה. - Certbot נכשל עם timeout: פורט 80 חסום או שה-DNS עדיין לא מצביע לכאן. בדקו שוב את
ufw statusואתdig. - עובד בלי www, נכשל עם www: התעודה או בלוק ה-server לא כוללים את
www. הריצו שוב את certbot עם שני השמות.
על DNS הפוך
רשומות A ו-AAAA הולכות משם ל-IP. DNS הפוך (PTR) הולך בכיוון ההפוך, ומגדירים אותו בלוח הבקרה ולא אצל הרשם. צריך אותו רק לדואר או כששירות כלשהו בודק אותו — המדריך ל-PTR מכסה את זה.
אם אתם מעלים אתר לאוויר בפעם הראשונה, עמוד השימוש לאתרים עוזר בבחירת הגודל, ותיעוד הרשת מפרט אילו כתובות מקבלת כל תוכנית.
תגובות
אין עדיין תגובות. היו הראשונים.