Как виртуальный хост на основе имен Apache работает с публичным IP-адресом?
Я новичок в веб-сервере Apache. Когда мы настраиваем веб-сервер Apache, у нас есть варианты настройки name-based virtual host
,
Исходя из моего понимания, когда пользователь вводит имя домена www.example.com
в веб-браузере он подключится к DNS-серверу, который преобразует доменное имя в (общедоступный) IP-адрес. Затем веб-браузер подключится к веб-серверу, используя IP-адрес.
Теперь, скажем, у меня есть сервер с публичным IP-адресом, a.a.a.a
, Я зарегистрировал 2 доменных имени, www.example.com
а также www.example1.com
, Оба этих 2 доменных имени указывают на один и тот же IP-адрес, a.a.a.a
, Итак, когда пользователь вводит www.example.com
или же www.example1.com
в своем веб-браузере DNS-сервер будет указывать их на IP-адрес a.a.a.a
,
Я настроил виртуальный хост на основе имени в соответствии с руководством пользователя на этом веб-сайте.
Однако я не понимаю, что, поскольку DNS-сервер уже преобразовал доменные имена в IP-адрес, все пользователи будут подключаться к веб-серверу с использованием IP-адреса. a.a.a.a
, Как Apache знает, использует ли пользователь www.example.com
или же www.example1.com
в их веб-браузере?
1 ответ
Заголовок http будет содержать хост. В приведенном выше примере это будет www.example.com или www.example1.com. Этот заголовок хоста читается apache, а затем используется для отправки клиенту правильного vhost.