Связаться
Изображение
Миша Радионов

Как работает интернет. Теория и инструменты по DNS, HTTP-редиректам, SSL, доменам

Опубликовано: 14 Апр 2020
Вернуться в блог

DNS, редиректы, SSL и домены — те части интернета, которые, как минимум, полезно знать. Для владельца ИТ-проекта, маркетолога или проект-менеджера необходимо не только понимать эти термины, но и уметь базово их анализировать. Почему?

Во-первых, потому что если что-то не работает в сетевом стэке, то ваш сайт скорее всего не работает совсем. Поэтому, когда что-то ломается в области сетей, у вас нет времени начинать изучать предмет.

Во-вторых, эти элементы лежат в «серой» зоне ответственности многих разработчиков. Особенно, если вы сам платите за хостинг. Другими словами, вы можете попасть в ситуацию, когда разработчик «переводит стрелки» на хостинг и наоборот.

После прочтения этого материала и просмотра видео-ролика вы будете готовы к целому ряду неожиданностей и вооружены самыми лучшими инструментами для диагностики проблем вашего сайта. Будет интересно. Приступим?

Видео

Презентация

https://flagsoft.ru/dns

🌐 DNS

Как работает DNS

DNS — система, на которой строится работа доменов, без которой для перехода на сайт вам бы пришлось набирать в адресной строке браузера странный набор цифр. В видео я подробно и с примерами объясняю, как это все работает.

Регистратор

DNS-хостинг

Веб-хостинг


Типы DNS-записей и их параметры


Инструменты для анализа DNS

Терминал (CLI, консоль, командная строка)

Ниже я часто буду упоминать консольные команды. Если у вас Mac или Linux, то вам повезло — терминал у вас уже установлен. Если у вас Windows, то проще всего будет установить бесплатную программу Cmder.

Как узнать сразу и DNS-провайдера, и регистратора домена

Проверить whois домена можно онлайн-сервисом (например, https://www.nic.ru/whois/) или консольной командой:

whois domain.ru

Сервис whois позволяет узнать информацию о домене или IP, включая:

Как проверить все DNS-записи домена

Проще всего для проверки DNS-записей воспользоваться онлайн-сервисом https://www.reg.ru/nettools/dig

Также удобны dig и nslookup — консольные утилиты, позволяющие определить DNS-записи домена

	dig domain.ru any

Как проверить, на какой IP смотрит домен для вашего компьютера

Онлайн-сервис — https://ping.eu/ping/
ping — консольная утилита, позволяющая определить, на какой IP адрес идет текущий компьютер по заданному домену. Рекомендую использовать именно утилиту, а не онлайн-сервис, так как данные на вашем компьютере часто будут отличаться от данных онлайн-сервиса.

ping domain.ru

Боремся с кэшем DNS у вашего интернет-провадйра

DNS-записи кэшируются у разных интернет-провадйеров по-разному, поэтому после смены этих записей пользователи разных провайдеров могут какое-то время видеть разный сайт: кто-то будет видеть старый, кто-то новый. У нас в офисе интернет-провайдер, у которого медленно обновляется кэш DNS, поэтому для проверки стоит либо зайти на сайт через телефон (через сотовую связь, не используя Wi-Fi), либо воспользоваться сервисом Netrenderer, либо настроить использование сторонних DNS. Проще всего, использовать Netrenderer. В перспективе удобнее, прописать сторонние DNS на компьютере.

  1. Посмотреть на телефоне, используя 3G (LTE, EDGE), а не Wi-Fi
  2. http://netrenderer.com — онлайн сервис, с помощью которого можно посмотреть на сайт из интернета, чтобы проверить применились ли DNS-записи у других пользователей. Важно понимать, что сервис создан не для этого, а для проверки отображения сайта в Internet Explorer. Поэтому не стоит смотреть на верстку, а только на то, отображается ли правильный сайт
  3. Прописать сторонние DNS на компьютере можно с помощью инструкции. Используйте 8.8.8.8 и 1.1.1.1, это максимально актуальные и, при этом, бесплатные DNS-провайдеры. Пример инструкции https://vynesimozg.com/izmenit-adres-dns-servera-v-windows-10/

Управляем парой домен-IP самостоятельно

До сих пор мы учились только получать и анализировать сетевые данные. Но, если вы хоть немного связаны с веб-разработкой, вам придется иногда вставать у руля. Пусть даже только для вашего локального компьютера.

Файл hosts позволяет на вашем локальном компьютере «насильно» сопоставить домен и IP-адрес. Это нужно, например, для того, чтобы проверить, как работает сайт, до того, как на него будет переключен домен.

В Linux и MacOS этот файл расположен по адресу /etc/hosts. В Windows он расположен в C:\windows\system32\drivers\etc\hosts

Так как файл hosts является системным, то вам понадобятся права администратора для изменения этого файла.

На Windows можно воспользоваться программой https://hostsfileeditor.com/.


🔀 HTTP-редиректы

Как работают HTTP-редиректы

Редиректы и DNS могут перенаправлять трафик, но разница между этими способами колоссальна.

Плюсы и минусы редиректов относительно DNS (в плане диагностики проблем на сайте)

Проверяем редиректы

Проверка редиректов очень важна для проверки настроек префиксов домена типа www и http/https.

То есть, у каждого домена обычно есть 4 варианта написания:

И 3 из этих 4 вариантов обязательно должны ссылаться на один из них, то есть на главный. Главный вариант определяет заказчик, но обычно это https://domain.ru.

Еще одно важное замечание — не проверяйте редиректы через браузер. Браузер кэширует редиректы, поэтому ему нельзя доверять. Даже в режиме инкогнито кэш редиректов не всегда сразу сбрасывается. Кэш этот, однако, можно сбросить (об этом ниже), но постоянно сбрасывать его довольно муторно. Поэтому нужно знать другие способы проверки редиректов.

Для проверки можно использовать онлайн-сервис http://www.redirect-checker.org

Мой любимый способ проверки редиректов — как ни странно, терминал (консоль):

	curl -I -L https://domain.ru

Как сбросить кэш редиректов браузера

На Windows нажать ctrl+H, затем «очистить историю», оставить включенной (отжатой) только галочку напротив «Изображения и другие файлы, сохраненные в кэше». Затем нажать «удалить данные».


🔒 SSL

SSL-сертификаты

Типы сертификатов

Диагностика SSL

В видео я подробно рассказываю:

Для диагности SSL на вашем сайте вы также можете использовать онлайн-сервис https://www.ssllabs.com/ssltest/

Учтите, данные о сертификате, как и HTTP-редиректы, сильно кэшируются браузером. Сбрасываются также, как кэш редиректов (смотрите выше).


🏡 Домены

Частые вопросы при попкупке домена

1. Где покупать?

Мы обычно используем сервис 2domains.ru (партнер reg.ru).

2. Сколько стоит домен?

Цены на свободные домены варьируются от 500 рублей до нескольких тысяч рублей и зависят как от доменной зоны (.ru, .com и др.), так и от регистратора. RU относительно дешевы. Модные IO стоят около $100.

3. Стоит ли покупать кириллический домен?

Кириллический домен купить можно, но только как дополнение к латинскому. Таким образом, кириллический домен будет просто редиректить на латинский (HTTP-редирект).

4. Анкеты

Для регистрации домена будущий владелец домена (наш клиент) должен предоставить свои данные. Для этого у нас есть специальные анкеты для физлиц и для юрлиц.

5. Как передать управление доменом?

Мы просим наших клиентов зарегистрироваться в 2domains.ru и предоставить нам email или логин аккаунта. После этого мы передаем домен с одного аккаунта регистратора на другой.

6. Владение vs управление доменом

Нужно понимать, что управление доменом и владение им — вещи не связанные. Управление — это доступ в ЛК регистратора для изменения NS-записей домена (смотри пункт 5). Владение — это ваше имя в параметрах домена (смотри пункт 4).