
Al principio, creé un archivo conf que funciona correctamente cuando quiero acceder a http://www.domain.com
:
server {
listen 80;
listen [::]:80;
root /var/www/domain;
index index.html
server_name domain.com www.domain.com;
}
Luego decido crear otro archivo conf para un subdominio:
server {
listen 80;
listen [::]:80;
root /var/www/subdomain.domain;
index index.html
server_name subdomain.domain.com;
}
Ahora el problema es que siempre que quiero acceder a http://www.domain.com
o http://subdomain.domain.com
, en ambos casos el resultado es la página que debo obtener para el subdominio.
El nuevo archivo conf se agregó correctamente a site-enabled
la carpeta:
ln -s /etc/nginx/site-available/subdomain.domain.conf /etc/nginx/site-enabled/subdomain.domain.conf
Y así es como se ven mis registros DNS:
domain.com. IN A <server_ip>
www.domain.com. IN A <server_ip>
subdomain.domain.com. IN A <server_ip>
Respuesta1
Le falta el ;
en la index
directiva, lo que hace que nginx interprete
index.html
server_name domain.com www.domain.com;
como contenido de index
la directiva. Por lo tanto, no hay ningún host virtual definido con a server_name
y nginx utilizará el host virtual del subdominio como host virtual general.