Назад | Перейти на главную страницу

Как имя хоста соотносится с IP-адресом на сервере с несколькими общедоступными IP-адресами?

Мой хостинг-провайдер настроил для меня виртуальный частный сервер на основе Ubuntu с тремя общедоступными IP-адресами. Я хочу назначить имена хостов этим IP-адресам следующим образом (я использую Dyn как свой DNS):

www.example.com будет производственным сайтом. test.example.com будет последней версией сайта, используемой для тестирования, а admin.example.com будет предоставлять ряд служб администрирования сайта (например, SSH, rsyncd). И www, и test будут привязаны к порту 80. И test, и admin будут принимать трафик только с определенных IP-адресов.

Меня немного смущает разница между именами хостов, с которыми работает DNS, и именем хоста сервера (как видно при запуске `hostname 'в командной строке сервера). Какое значение имеет имя хоста сервера?

Я предполагаю, что Apache 2 все равно, что hostname утилита возвращается, потому что я могу указать IP: PORT для прослушивания для VirtualHost. Но являются ли они другими службами (или ограничениями), о которых я должен знать при подключении к моему серверу через "foo.mydomain.com", если имя хоста машины - "randomname"?

Имена хостов позволяют легко различать серверы. Видеть RFC-1178 Выбор имени для вашего компьютера Больше подробностей. Для того, что вы делаете, имя хоста сервера не имеет значения. В вашем случае ваш хост будет размещать несколько полных доменных имен (полных доменных имен) для включения служб. Вы можете добавить больше, используя дополнительные записи DNS CNAME или A.

Поскольку у вас небольшой сайт, ВСЕ эти домены относятся к одному хосту. У более крупных сервисов, таких как google.com, есть несколько IP-адресов, поддерживаемых несколькими серверами. В некоторых случаях IP-адреса могут принадлежать балансировщикам нагрузки перед несколькими серверами.

Для сервера Apache вы должны использовать виртуальный хостинг на основе IP. Вы можете использовать ACL Apache и / или брандмауэр для ограничения доступа. Я использую оба, когда могу.

Если вы добавляете почтовый сервер, необходимо применять дополнительные правила. Полное доменное имя почтового сервера должно совпадать с именем, которое объявляет Сервер. Кроме того, IP-адрес должен иметь запись PTR, возвращающую это полное доменное имя.

Если вы запускаете какой-либо сервер исходящей почты, ваше приветствие smtp helo и имя хоста fqdn должны совпадать, чтобы избежать спам-фильтров.

имя хоста сервера не имеет значения ... для apache ... ваш браузер будет использовать http-пакет и поместить заголовок http-хоста в пакет, который будет иметь имя хоста, на которое вы нажимаете. Затем Apache получит пакет, проверит заголовок хоста и выяснит, на какой виртуальный хост отправить запрос на основе

servername or serveralias 

Для других вещей, как правило, он просто создает прямое IP-соединение, поэтому независимо от того, какое имя вашего хоста разрешает, оно просто устанавливает соединение с этим IP-адресом на этом порту.