Іноді функціонуючий веб-сайт недоступний за доменним іменем. Це відбувається через неправильні налаштування, і в цій статті ми розберемо, чому сайт не відкривається за доменним іменем і що з цим робити.
Іноді буває так, що начебто все налаштовано правильно, але домен не працює, а сайт недоступний. Щоб веб-сайт був доступним за його доменним іменем, його слід перетворити на IP-адресу веб-сервера, на якому розміщено веб-сайт. За це відповідає глобальна система доменних імен (DNS). Для успішного перетворення домену на IP-адресу необхідно виконати наступні умови:
- Домен має бути зареєстрований і делегований;
- Сервери тих доменів, яким було делеговано керування доменним розширенням, повинні правильно надсилати IP-адресу веб-сервера;
- DNS-сервери високого рівня повинні містити актуальну інформацію про домен;
Якщо хоча б одна з умов не буде виконана належним чином, сайт буде недоступний.
Давайте детальніше розглянемо, як це працює, і деякі основи діагностики на кожному етапі.
Як зареєструвати та делегувати домен
реєстрація доменів виконується після покупки. По суті, все, що вам потрібно зробити, це надіслати інформацію про свій домен до реєстру розширень домену високого рівня.
Делегування — це передача керування розширенням домену певному доменному серверу. Для делегування домену необхідно ввести адреси DNS-серверів, на яких будуть зберігатися ресурсні записи цього домену. У більшості випадків адреси DNS-серверів надаються доменом або хостинг-провайдером, коли ви купуєте домен. Як правило, серверів всього два. Всі дії можна виконувати через панель адміністрування. Ви повинні отримати доступ до нього після покупки.
Щоб перевірити статус домену, ви можете скористатися будь-яким сервісом Whois. Наприклад, використовуйте цей: whois.com. Якщо домен вже зареєстрований, ви побачите всю інформацію про нього.
Подивіться на наступні поля:
- «оплачено» — дата до оплати домену. Переконайтеся, що дата все ще дійсна. Якщо домен не буде оплачено до вказаної дати, він буде заблокований. Якщо вони не отримають платіж протягом місяця, домен стає доступним для покупки.
- «держава» — статус. Вам необхідно переконатися, що домен має статус «REGISTERED» або «DELEGATED». Це означає, що домен зареєстрований або делегований.
- «nserver» — Адреси DNS-серверів, яким було делеговано керування розширенням домену. Вам потрібно переконатися, що DNS-сервери правильні. Як згадувалося вище, ці адреси зазвичай надаються після покупки вашим доменом або хостинг-провайдером.
Якщо ви отримуєте повідомлення «Домен доступний», це означає, що домен не зареєстрований і подальші перевірки не мають сенсу, тому що вам потрібно спочатку придбати домен. Незважаючи на те, що все цілком очевидно, недосвідчені користувачі можуть допускати певні помилки, намагаючись підключити хостинг до неіснуючого домену.
Якщо на цьому етапі з доменом все в порядку, можна переходити до наступного кроку.
Перевірка DNS-серверів
Сервери доменних імен, яким було делеговано керування доменом, мають повертати записи ресурсів розширення домену за запитом. Ресурсні записи – це службова інформація про домен, яка зберігається на сервері DNS. Існують різні типи ресурсних записів. Нам потрібен лише найбільш часто використовуваний запис типу «А», який визначає, яка IP-адреса відповідає домену. Якщо ви купуєте домен і хостинг в одного провайдера, записи ресурсів можна створювати автоматично.
Якщо вам доводиться мати справу з двома різними провайдерами, ви повинні створити їх вручну з панелі адміністрування, до якої ваш провайдер має надати вам доступ. Погляньте на ресурсні записи домену «domain111.ru» на скріншотах панелі DNSManager від компанії ISPsystem. До речі, у нас є відповідна стаття тут "Як створити та налаштувати DNS-записи в DNS Manager"
На цьому етапі важливо переконатися, що DNS-сервер, якому було делеговано управління доменним розширенням, видає запис типу «А», тобто IP-адресу домену. Щоб перевірити це, використовуйте цю утиліту командного рядка «nslookup».
Давайте розглянемо процес діагностики на прикладі домену «domchel.ru». Сервіс «Whois» показує, що доменне розширення було делеговано цим DNS-серверам: «ns1.rugion.ru» і «ns2.rugion.ru», тобто кожен з них повинен містити запис типу А цього домену і видавати його за запитом, так що давайте перевіримо.
Відкриваємо командний рядок і запускаємо «nslookup domchel.ru ns1.rugion.ru», де перший параметр — ваше доменне ім’я, а другий — DNS-сервер, на який буде адресований запит. За замовчуванням утиліта запитує запис типу А, тому параметр «тип» відсутній. Якщо служба DNS повертає доменне ім'я та IP-адресу (як на скріншоті), все в порядку.
Ще раз перевіримо неіснуюче доменне ім’я.
Сервер не зміг знайти запитаний домен у своїй базі даних.
Якщо DNS-сервер не зміг знайти ваш домен у своїй базі даних, перше, що вам слід зробити, це перевірити, чи є запис типу A в панелі адміністрування. Якщо він є, зверніться в службу підтримки провайдера. Швидше, проблема на їхньому боці і пов'язана з сервером доменних імен.
Але якщо цей тест пройшов успішно, переходьте до наступного кроку.
Оновлення DNS-серверів високого рівня
Коротше кажучи, глобальна система доменних імен працює так: DNS-сервери високого рівня містять інформацію про DNS-сервери нижчого рівня. Таким чином, це означає (як у нашому прикладі вище «domchel.ru»), що всі сервери розширення «ru» повинні містити інформацію про те, що «domchel.ru» обслуговується DNS-серверами ns1.rugion.ru і ns2.rugion.ru.
Враховуючи те, що стан доменів низького рівня постійно змінюється (домени реєструються, стають доступними для покупки, делегуються на інші DNS-сервери, змінюються IP-адреси своїх хостингів), база даних DNS-серверів високого рівня повинна постійно оновлюватися.
Як правило, після делегування домену та створення записів ця інформація поширюється по мережі протягом доби. Тільки після цього ваш домен стане доступним з будь-якої точки світу. На цьому етапі користувачеві залишається тільки почекати. Якщо це займає більше одного дня, але ваш веб-сайт усе ще недоступний, перевірте його ще раз за допомогою nslookup. Виконайте ту саму команду, але використовуйте будь-який публічний DNS-сервер, наприклад 8.8.8.8 — це публічний DNS-сервер Google.
Запустимо цю команду: «nslookup domchel.ru 8.8.8.8»
Якщо публічний сервер повернув IP-адресу домену, як показано на скріншоті, це означає, що інформація про ваш домен уже поширена в мережі.
Якщо минуло достатньо часу, але публічні DNS-сервери все ще не можуть знайти ваш домен, зверніться до служби підтримки свого провайдера. Мабуть, виникла проблема з передачею даних на сервери імен високого рівня.
Окрім тесту з загальнодоступними DNS-серверами, ви можете перевірити локальний сервер доменних імен у мережевих налаштуваннях вашого комп’ютера. Існує ймовірність, що проблема в конфігурації мережевого адаптера на вашому ПК або в DNS-серверах вашого інтернет-провайдера.
Давайте запустимо цю команду «nslookup domchel.ru». Якщо команда не містить коректного сервера доменних імен, запит буде адресований локальному серверу DNS.
Коли загальнодоступні сервери імен «знають» IP-адресу вашого веб-сайту, але локальний сервер продовжує відповідати, що домен не знайдено, це означає, що проблема в конфігурації мережевого адаптера на вашому ПК або DNS-сервері вашого інтернет-провайдера.
Якщо після виконання команди ви отримуєте IP-адресу свого домену, це означає, що трансформація доменного імені пройшла успішно на всіх рівнях.
Дії, описані вище, допоможуть вам діагностувати проблему та перевірити, чи пов’язана вона із системою доменних імен чи ні.