Вот проблема: мы размещаем наш веб-сайт у внешнего провайдера, который не дает нам IP-адрес, скорее они предоставляют нам домен, на который мы указываем нашу запись www CNAME. Я предполагаю, что они используют какой-то тип виртуального хостинга, который читает заголовок запрашиваемого домена и отображает этот веб-сайт.
В любом случае, многие наши пользователи жалуются, что веб-сайт не работает, хотя на самом деле это не так, потому что они вводят example.com вместо www.example.com в свои браузеры.
Есть ли способ заставить это работать в нашем DNS?
Хорошо, это спросили некоторое время назад, и уже есть принятый ответ ...
CNAME '' использовать ваш корень, как правило, плохая идея,
Вы не должны использовать CNAME для вашего корня example.com
домен.
пользователи жалуются, что сайт не работает [..], потому что они набирают example.com вместо www.example.com
Есть простое решение:
example.com
на IP-адрес (запись A) веб-сервера,www.example.com
адрес.Это перенаправление занимает максимум двести миллисекунд, и большинство пользователей этого не замечают.
Вы можете сделать это самостоятельно, настроив веб-сервер и несколько строк PHP / ASP /.HTACCCES и т.д. Обратите внимание, это не обязательно должен быть ваш основной производственный веб-сервер; подойдет любой дешевый общий веб-хост со статическим IP-адресом.
В качестве альтернативы, многие поставщики DNS-хостинга предоставляют это бесплатно. Это был бы самый простой и надежный вариант; оставьте это кому-то, специализирующемуся на этом, чтобы разместить это перенаправление. Разные DNS-хосты обычно называют эту функцию разными именами, например, Ганди называет ее «Web Forwarding».
Есть ли способ заставить это работать в нашем DNS?
Вы имеете в виду, исключительно в DNS без использования веб-сервера? Нет, нет.
Использование CNAME для корневого каталога - это, как правило, плохая идея, поскольку все другие записи в корне (SOA, NS, MX) имеют тенденцию быть очень важными.
Ваш провайдер действительно должен позволять вам указывать адрес вместо имени. Я ценю то, что они пытаются сделать, давая себе больше гибкости, чтобы при необходимости возиться с этой записью DNS, но в данном случае это контрпродуктивно.
Предполагая, что IP-адрес, который разрешает CNAME, не меняется часто и не происходит ничего особенного (например, балансировка нагрузки на основе географии, использование CDN и т. Д.), Вы можете «обмануть» и добавить запись записи RR для example.com с IP-адресом, в который разрешается CNAME. Я бы установил автоматический мониторинг и изменение записей A, чтобы, если IP действительно изменится, он будет обрабатываться автоматически (и вам, вероятно, также понадобится низкий TTL для RR).
К сожалению, соображения Алекса все еще применимы: вам нужно настроить веб-сервер, чтобы он работал правильно, когда заголовок Host: равен example.com, а не www.example.com.
Что касается комментария Шейна Мэддена о настройке другого веб-сервера для перенаправления: у некоторых поставщиков DNS есть эта услуга. Например, в DynDNS есть «WebHops». http://www.dyndns.com/support/kb/webhops_redirections.html Вы должны создать запись A для example.com с IP 204.13.248.125, а затем создать «веб-магазин», который будет перенаправлять на www.example.com.
В конце концов, возможно, пришло время приобрести новую услугу веб-хостинга с необходимыми вам функциями.
После моего вопроса, чем больше я думал об этом, похоже, что у вас есть DNS для зоны. Проблема будет в том, что если у них есть настройка виртуального хоста для www.example.com, он не ответит на example.com. Чтобы это работало, вам нужно, чтобы что-то еще отвечало для example.com, а веб-сервер перенаправлял на www.example.com.