Я только что купил Линод План хостинга VPS и следил за этим руководство установить. В разделах «Установка имени хоста» и «Обновление / etc / hosts» говорится, что задаваемое здесь полное доменное имя / имя хоста не обязательно должно быть связано с веб-сайтами, которые я собираюсь разместить, что меня смущает.
Я провел собственное исследование, прочитав множество статей, но до сих пор не совсем уверен, какую роль имя хоста / полное доменное имя играет в моем бизнесе веб-хостинга. Вот несколько основных фактов, которые мне удалось выяснить, не стесняйтесь поправлять меня, если что-то не так:
xxx
, который, как мне кажется, можно условно назвать поддоменом, также может называться "имя хоста", согласно https://kb.iu.edu/d/aiuv.На моем локальном компьютере, добавив следующую строку в hosts
файл
63.117.14.58 www.yahoo.com что угодно
все сетевые запросы для "www.yahoo.com" или "чего-то еще" будут перенаправлены на IP-адрес 63.117.14.58 (который является IP-адресом google.com). Это способ заблокировать нежелательные сайты на локальном компьютере.
Теперь в руководстве предлагается добавить эту строку в файл «hosts» на моем сервере.
12.34.56.78(//my server's IP) myhostname.anything.com myhostname
В нем упоминается, что в приведенной выше строке имя домена может быть или не быть доменом, который я собираюсь разместить, но имя хоста должно быть тем, которое я уже установил на предыдущих шагах. Мои вопросы:
1) Основываясь на факте № 3, я думаю, что эта строка перенаправляет любые запросы на сервере для myhostname.anything.com
или myhostname
на мой IP-адрес, но что это значит? Не следует запрашивать myhostname.anything.com
с компьютера пользователя уже переведены на определенный IP-адрес (будь то мой IP-адрес или нет)? Почему мне нужно перенаправить его на свой сервер? Я понимаю, как работает HTTP-запрос: когда пользователь вводит имя домена в браузере, браузер связывается с сервером домена, а сервер домена направляет его на DNS-сервер на основе DNS-записи домена, а затем DNS. Сервер разрешит IP-адрес, а затем браузер получит данные с этого IP-адреса. Насколько я понимаю, эта процедура не имеет ничего общего с файлом "hosts" на моем сервере.
2) A. Что касается FQDN, почему имя хоста должно совпадать с именем хоста, которое я установил на моем сервере, а имя домена - нет?
Б. Что произойдет, если я установлю здесь другое имя хоста?
C. И какова цель установить или не указывать здесь мое доменное имя как полное доменное имя?
D. А что произойдет, если я установлю только полное доменное имя, но не имя хоста? как это
12.34.56.78(//my server's IP) myhostname.anything.com
Много вопросов, но я считаю, что ответы на некоторые из них частично совпадают, и в целом я думаю, что главный вопрос заключается в том, «Какую роль играет установка имени хоста / редактирование файла хоста в моем бизнесе веб-хостинга?»
Спасибо, что уделили время.
Людям будет сложно ответить на этот вопрос, потому что он начинается с более простой посылки, а оттуда идет в глубокую кроличью нору. Начнем с самого начала.
Я не думаю, что здесь нужно много объяснений, поэтому буду краток. Назначение файла hosts - определить сопоставления хоста с IP-адресами, которые не зависят от DNS. Наиболее важным из них для сервера является собственное имя устройства, потому что из-за проблемы с вашим DNS-сервером глупо мешать вашему устройству ссылаться на себя по имени.
Пока мы используем только файлы хоста, нам вообще не нужно использовать домены. DNS не участвует, так что кого это волнует? К сожалению, по мере роста нашей сети становится все менее устойчивым, чтобы каждое устройство независимо отслеживало имена всех устройств в нашей сети. Это приводит нас к использованию DNS и создает некоторые новые логистические препятствия.
Имена хостов - это имена устройств или, если хотите, имена узлов. Это однозначно идентифицирующее имя, которое имеет значение для владельца устройства и не обязательно имеет значение или даже доступно людям, использующим службы на устройстве. Это то, что имеет в виду Linode, когда говорит, что имя не должно иметь ничего общего с услугами, которые вы размещаете.
Например, предположим, что вы владеете компанией Contoso и управляете веб-сайтом с именем example.com
. Веб-сайт размещен на шести машинах с именами dalek01
через dalek06
. Все, что нужно знать внешнему миру, это то, что они могут получить нужный веб-сайт, если подключат www.example.com
в свой веб-браузер. Чрезмерно любознательным Повелителям Времени не нужно беспокоиться о том, что их просьба www.example.com
обслуживалась dalek03
.
Само по себе имя хоста не обязательно должно содержать что-нибудь вообще не при чем с DNS. Это просто имя устройства, с которым даже не обязательно связан суффикс домена. Пока все просто!
Теперь мы немного усложнили задачу. Время историй!
www.example.com
, потому что он размещен на нескольких разных машинах. Хорошо, что у нас есть однозначно идентифицирующее имя для сервера с проблемой!dalek01
через dalek06
в домен DNS куда-нибудь. К счастью, мы владеем contoso.com
(назван в честь нашей компании), полностью отделен от www.example.com
, который может быть одним из наших клиентов.corp.contoso.com
. Все наши настольные компьютеры настроены с суффиксом поиска DNS corp.contoso.com
. Это означает, что если мы создадим запись DNS с именем dalek01.corp.contoso.com
, любой в нашей сети может получить доступ к этой машине, просто подключившись к dalek01
со своим SSH-клиентом. Удобный!dalek01
знает, что это называется dalek01
потому что мы поместили его в файл hosts. Мы хотим, чтобы он знал, что он также называется dalek01.corp.contoso.com
, но мы не хотим, чтобы DNS знал свое собственное имя. Это было бы глупо. Поэтому мы определяем псевдоним для dalek01.corp.contoso.com
в файле hosts на dalek01
чтобы он знал все его имена.www.example.com
, не обращая внимания на то, что у вас есть шесть серверов с именами dalek01
через dalek06
, тот факт, что ваша компания называется Contoso (не считая ваших клиентов), или что для удобства ваших сотрудников вы создали записи DNS для dalek01
через dalek06.corp.contoso.com
.Надеюсь, это охватывает все основы.