Я новичок в мире 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.