Ответы пользователя по тегу Система доменных имен
  • DNS, каков порядок выбора ns записей клиентами?

    В любом случае нужно иметь постоянные адреса серверов в DNS, по которым балансировать с помощью DNS, если нужно, и с которых проксировать на главные/резервные сервера, как уже заметили в ответах, но я хочу немного добавить для полноты картины.

    Еще нужно учитывать, что клиентские/провайдерские сервера кэшируют запросы, порой очень надолго, поэтому никаких обращений к вашим NS не будет. Кроме того, не ясно, какой длины цепочка из серверов до вас, там по пути могут что попало накэшировать. Бинд по умолчанию максимально кэширует на неделю, например.

    Также я прошелся по RFC1034 по диагонали, нашел важное: "The order of RRs in a set is not significant, and need not be preserved by name servers, resolvers, or other parts of the DNS." Или: "Since the DNS does not preserve the order of RRs, this function may choose to sort the returned addresses or select the "best" address if the service returns only one choice to the client."

    В общем, точно нельзя полагаться на определенный порядок нигде.

    Пара примеров:

    Например, Гугл использует балансировку: их NS возвращают один адрес с малым TTL (300). Вот реакция разных серверов на это: мой named по умолчанию так и возвращает, и пока TTL не истечет, показывает одну запись; 4.2.2.1 выводит сразу много А записей с разными маленькими TTL; 8.8.8.8 просто не кэширует, отдает по одному адресу, но с разными TTL (тоже маленькими)).

    Касательно NS можете попробовать dig @8.8.8.8 ya.ru NS и убедиться в том, что порядок любой.
    Ответ написан
    Комментировать
  • Как правильно сделать зеркало субдомена?

    Настроить 301 редирект с admin.ru на admin.site.ru. Как это сделать, зависит от многих факторов. Предполагаю, что DNS-сервер не ваш, в таком случае редиректы обычно настраиваются в панели управления DNS/доменом. Если там нельзя настроить редиректы, то создаете там же зону для домена, указываете там в A записи IP-адрес вашего сервера, добавляете CNAME для www. Если домен уже на сервер указывает, просто делаете для него редирект 301 на ваш поддомен. В nginx, например, это было бы так:

    server {
         listen  80;
         server_name www.admin.ru admin.ru;
         rewrite ^ http://admin.site.ru$request_uri? permanent;
    }

    Для apache просто используете .htaccess:

    Redirect 301 / http://admin.site.ru/

    Если вы действительно решили для админки дать отдельный домен - это странно, ее лучше никому не показывать, держать под SSL на странном URL.
    Ответ написан
    1 комментарий