Купили сте домейн, имате VPS, а браузърът още казва „сайтът не може да бъде достигнат". Липсващото парче почти винаги са два DNS записа и уеб сървър, който наистина отговаря на правилния адрес. Ето целия път — от регистратора до работещо HTTPS катинарче.
Преди да започнете: приема ли планът ви уеб трафик?
Посетителите се свързват с портове 80 и 443 на сървъра. Затова ви трябва план със собствен публичен IP. NAT плановете пренасочват само личния ви SSH порт, така че не могат да хостват сайт на домейн — статията ни dedicated 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
Последният ред пита публичен резолвер, което е по-близо до това, което виждат посетителите. Ако получите своя 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: локалният ви резолвер го е кеширал. Изчакайте TTL-а или питайте
@1.1.1.1както по-горе. - Certbot пада с timeout: порт 80 е блокиран или DNS още не сочи насам. Проверете отново
ufw statusиdig. - Работи без www, не работи с www: сертификатът или server блокът не включват
www. Пуснете certbot отново с двете имена.
За обратния DNS
A и AAAA записите водят от име към IP. Обратният DNS (PTR) върви в другата посока и се задава в клиентския панел, а не при регистратора. Трябва ви само за поща или когато някоя услуга го проверява — нашето ръководство за PTR го обяснява.
Ако пускате сайт за първи път, страницата за сайтове сред сценариите на употреба помага с оразмеряването, а мрежовата документация изброява какви адреси получава всеки план.
Коментари
Още няма коментари. Бъди първият.