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

Вопросы о доменах и DNS

Я новичок в мире DNS и хостинга серверов и не совсем уверен, что мне нужно.

Я хочу получить домен, перенаправить его на свой сервер, чтобы пользователь видел example.com в строке URL и example.com/foo/bar работал. В зависимости от того, какой это поддомен, он должен делать разные вещи (другой базовый каталог на веб-сервере, ftp и т. Д.). Также моя электронная почта должна быть отправлена ​​и получена этим сервером.

Что меня раздражает, так это то, что в A-записи я могу перечислить только IP-адреса, а не порты. Так что мне нужно настроить сервер имен на моем собственном сервере? Или я могу сделать это через vhosts на моем веб-сервере?

Буду признателен за любую помощь или ссылку на учебник.

Я знаю, как работает DNS, знаю некоторые основы apache и т. Д., Поэтому не нужно объяснять это.

Спасибо

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

что касается размещения нескольких поддоменов, это довольно просто с помощью apache VirtualHost директивы. вы просто создаете виртуальный хост с ServerName subdomain.example.com и установите DocumentRoot чтобы этот поддомен был где угодно в вашей файловой системе

пример виртуальных хостов на основе имен в apache:

<VirtualHost *:80>
  DocumentRoot /var/www/domainx/htdocs/
  ServerName subdomain.example.com
  ServerAlias *.subdomain.example.com
  ...
</virtualHost>

Это помогает запомнить модель OSI:

IP Address - Layer 3 - Network layer - Identifies the host
TCP Ports  - Layer 4 - Transport Layer - Identifies the process

По крайней мере, в настоящее время DNS сопоставляет конкретному хосту только удобное для человека имя, то есть IP-адрес. Предполагалось, что TCP-порты будут обрабатываться хорошо известными портами.

Вы устанавливаете запись A, указывающую на ваш сервер, порты не нужны. Порт 80 - это порт веб-сервера по умолчанию, поэтому, если вы введете http://yourdomain.com/ он отправит запрос на yourdomain.com на порт 80.