¿Por qué mi registro A apunta a mi servidor Apache?

¿Por qué mi registro A apunta a mi servidor Apache?

Tengo dos servidores web nginx y apache2. Tengo un registro A para mail.aboutryansam.com y un CNAME webmail.aboutryansam.com. He estado intentando configurar un servidor de correo postfix y dovecot alojado en mail.aboutryansam.com y un cliente de correo roundcube alojado en webmail.aboutryansam.com. Estoy ejecutando Ubuntu 18. Tengo dos directorios /var/www/nginx/mail.aboutryansam.com/ para el servidor de correo. Y tengo /var/www/html para roundcube. De forma predeterminada, Apache2 y nginx se ejecutan en el mismo puerto, así que cambié nginx para usar el puerto 81. Tengo la página html predeterminada en el directorio de Apache e hice una personalizada en mi directorio de nginx. Cuando visito mail.aboutryansam.com todavía me lleva a la página html de Apache pero tengo el archivo de configuración para trabajar con el directorio 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;
  }
}

Tengo muchos problemas para ejecutar servidores web y soy nuevo en la administración de servidores. Lo siento si no pude explicarlo lo suficientemente bien. Si puedes ayudarme y responder, por favor sé "detallado", ya que dije que soy nuevo en esto.

Respuesta1

Los registros DNS A apuntan a direcciones IP, no a servicios. Se puede acceder a un servicio como Apache/nginx mediante la dirección IP de la máquina en la que se ejecuta Y el puerto.

Cuando usted entrehttp://mail.aboutryansam.comen su navegador se conecta al puerto HTTP predeterminado 80, por lo que se conecta al 198.58.105.140:80lugar donde Apache está escuchando. Lo que server_nameusted definió en nginx no se toma en consideración en este punto, porque la solicitud ya ingresó a Apache.

Si desea conectarse a un servicio que escucha en el puerto 81, debe especificar esto explícitamente:http://mail.aboutryansam.com:81

Si no quieres esto :81en la URL, tus opciones son:

  • Configurar unproxy inversoal puerto 81 en el servidor en el puerto 80 -
  • Si tiene varias máquinas/IP disponibles, vincule Apache y nginx en distintas, para que ambos puedan vincular el puerto 80 y cambie los registros DNS en consecuencia

información relacionada