Я пытаюсь найти более элегантное решение, которое позволило бы улучшить обновления DNS для моего веб-сервера и нескольких веб-сайтов, размещенных на нем.
Итак, у вас есть веб-сервер, например, у провайдера VPS с доменным именем apache1.vpshost.com
. Если бы я хотел, чтобы мой веб-сайт с доменным именем www.example.com
был размещен на этом веб-сервере, я мог бы просто добавить запись CNAME, которая говорит www.example.com
. apache1.vpshost.com
Это имеет то преимущество, что если IP-адрес веб-сервера изменится, вам нужно будет обновить его только в одном месте, и все веб-сайты, размещенные там, будут в порядке.
Растет движение за отказ www.
от веб-адресов, но единственный известный мне способ сделать это — установить корневую запись A на тот же IP-адрес, что и apache1.vpshost.com
CNAME, поскольку вы не можете сделать корневой DNS CNAME. Главный недостаток этого, который я вижу, заключается в том, что если IP-адрес веб-сервера изменится, то вам придется обновлять все настройки DNS на всех размещенных веб-адресах.
Я пытался найти этот вопрос в Google несколько раз, но если где-то и есть лучшее решение, то я запутаюсь в дебрях, поскольку мои поисковые запросы очень распространены.
решение1
В настоящее время нет хорошего решения для варианта использования "CNAME at apex". Это не было бы проблемой, если бы веб-браузеры поддерживали SRV
записи DNS, но они никогда этого не делали и никогда не будут
Различные поставщики DNS предлагают различные кладжи, называемые sometimes ANAME
или APEXCNAME
or или ALIAS
как угодно. Важный момент заключается в том, что здесь нет ничего стандартного. Это будет каким-то образом отображаться в их UI/API, это не может быть скопировано как есть другому поставщику (если вы измените) и, конечно, это вообще не отображается на стороне разрешения DNS, так как они каким-то образом (либо динамически, когда приходят запросы, либо через какие-то заранее заполненные кэши) генерируют A
и AAAA
отвечают для apex на основе конфигурации.
Технически это подразумевает наличие в основном авторитетного сервера имен, который также является немного рекурсивным, поскольку в некоторых моментах ему действительно необходимо преобразовать имя, которое вы использовали в своей «подделке», CNAME
в какой-то IP-адрес.
Вот почему будущие записи DNS называются SVCB
или HTTPS
наконец решат это. Они еще не полностью стандартизированы, поскольку IETF RFC все еще пишется, но они уже существуют в DNS с выделенными типами записей ресурсов, и различные компании (Apple, Google, CloudFlare и многие другие) уже используют их.
В любом случае, я рекомендую инвестировать время только в это будущее надежное стандартное решение (то есть найти DNS-провайдеров, поддерживающих его, и посмотреть, как/когда браузеры будут его использовать, они «все» сказали, что будут это делать), а не тратить время на текущие недоработки, поскольку они неполноценны, нестандартны и обязательно исчезнут с появлением вышеуказанных новых записей DNS.