Почему моя запись A указывает на мой сервер Apache?

Почему моя запись A указывает на мой сервер Apache?

У меня есть два веб-сервера nginx и apache2. У меня есть запись A для mail.aboutryansam.com и CNAME webmail.aboutryansam.com. Я пытаюсь настроить почтовый сервер postfix и dovecot, размещенный на mail.aboutryansam.com, и почтовый клиент roundcube, размещенный на webmail.aboutryansam.com. Я использую Ubuntu 18. У меня есть два каталога /var/www/nginx/mail.aboutryansam.com/ для почтового сервера. И у меня есть /var/www/html для roundcube. По умолчанию apache2 и nginx работают на одном порту, поэтому я изменил nginx на использование порта 81. У меня есть страница html по умолчанию в каталоге apache, и я создал пользовательскую страницу в моем каталоге nginx. Когда я захожу на mail.aboutryansam.com, меня по-прежнему перенаправляет на страницу html apache, но у меня есть файл conf для работы с каталогом nginx

server {
  listen 81;
  server_name mail.aboutryansam.com;

  location {
    root /var/www/nginx/mail.aboutryansam.com
    index index.html index.htm;

    # proxy_pass http://localhost:3010;
    # proxy_set_header Host $host;
    # proxy_set_header X-Real-IP $remote_addr;
  }
}

У меня много проблем с запуском веб-серверов, и я новичок в администрировании серверов, так что извините, если я не смог объяснить достаточно хорошо. Если вы можете мне помочь и ответить, пожалуйста, будьте "--verbose", так как я сказал, что я новичок в этом деле.

решение1

Записи DNS A указывают на IP-адреса, а не на службы. К службе типа Apache/nginx можно получить доступ по IP-адресу машины, на которой она запущена, И по порту.

Когда вы входитеhttp://mail.aboutryansam.comв вашем браузере он подключается к порту HTTP по умолчанию 80, так что вы подключаетесь к 198.58.105.140:80тому месту, где Apache слушает. То, что server_nameвы определили в nginx, на этом этапе не учитывается, поскольку запрос уже поступил в Apache.

Если вы хотите подключиться к службе, прослушивающей порт 81, вам необходимо явно указать это:http://mail.aboutryansam.com:81

Если вы не хотите, чтобы это было :81в URL, у вас есть следующие варианты:

  • Настройтеобратный проксина порт 81 на сервере на порт 80 -
  • Если у вас есть несколько доступных машин/IP-адресов, привяжите Apache и nginx к разным машинам, чтобы оба могли привязать порт 80, и измените записи DNS соответствующим образом.

Связанный контент