У меня есть сайт example.tld. В DNS есть запись A, например example.tld, которая указывает на 1.2.3.4.
Есть ли разница (что касается / настройки Apache), является ли субдомен (www.example.tld) записью A для 1.2.3.4 или CNAME, например, .tld?
Насколько я понимаю, способ разрешения IP-адреса отличается от фактического HTTP-запроса, поэтому как Apache может различать их и почему / когда это важно?
Я не могу показать конфигурацию Apache, но предполагаю, что она хорошо работает в одном случае, но не в другом.
Изменить: я обрабатываю сторону DNS, и у меня есть клиент, который говорит, что их хостинг-провайдер настаивает на том, что их поддомен (www.example.tld) не будет работать, если поддомен не определен как CNAME (в отличие от Запись / хост.) Я не понимаю, почему это имеет значение, поскольку все разрешается на один и тот же IP-адрес, но я не знаю Apache, поэтому какие-либо крайние случаи, исключения, что угодно в этом правиле?
Клиент застрял между обеими сторонами, говоря, что другой неправ. Если я ошибаюсь, я хотел бы понять, почему (и просто повторюсь, я не знаю Apache), чтобы я больше не повторял ту же ошибку.
Apache даже не прочитает эту запись DNS. Только клиенты.
Когда клиент делает запрос к веб-серверу, он отправляет запрос, содержащий имя желаемого веб-сайта. Когда веб-сервер получает его, он просто читает имя желаемого сайта, чтобы знать, что отправить обратно.
Вы даже можете настроить Apache для обслуживания фиктивного facebook.com
Вы изменяете свой клиентский DNS, чтобы он указывал facebook.com на ваш сервер when, и это ВАШ apache, который будет отвечать вашему браузеру. Даже если DNS вашего веб-сервера не обманут, потому что веб-сервер никогда не запрашивает такую информацию.
Apache не видит никакой разницы, но веб-приложение, работающее в Apache, может. Я знаю, что веб-приложение, в котором я работаю, выполняет запросы DNS, когда вы настраиваете свою учетную запись, и ожидает увидеть CNAME.
Если вашему клиенту сказали, что это должен быть CNAME, это могло быть причиной.