Error de nginx "nombre de servidor en conflicto" ignorado [cerrado]


125
server {
    #listen   80; ## listen for ipv4; this line is default and implied
    #listen   [::]:80 default ipv6only=on; ## listen for ipv6

    #root /usr/share/nginx/www;

root /home/ubuntu/node-login;
    # Make site accessible from 
    server_name ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com;

location /{
    proxy_pass http://127.0.0.1:8000/;
    proxy_redirect off;
}

}

esto da como resultado un error de nignx [advertencia] nombre de servidor en conflicto "ec2 ..." en 0.0.0.0:80 ignorado No entiendo, cualquier explicación apreciada. Gracias.


Parece que hay un valor implícito por defecto 0.0.0.0:80, agregando que explícitamente funcionó para mí. escuchar ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com:80; seguido de la directiva server_name trabajada.
user1447121

1
Compruebe /etc/nginx/sites-available/<site-name>que está vinculado a /etc/nginx/sites-enabled/<site-name>. Los archivos adicionales aquí pueden contener configuraciones duplicadas o conflictivas.
Hanxue

cambiando config.force_ssl = truepara falseresolver mi problema, esto me llevó días resolverlo
Muyide Ibukun

1
Para mí, este mismo error fue de un punto y coma faltante al final de una de las server_namelíneas cuando tenía varias serverentradas.
Kevin

2
Certbot de LetsEncrypt había agregado un bloqueo de servidor en el archivo predeterminado en mi caso. Hizo eso porque intenté obtener el certificado antes de configurar el bloque de servidor por separado.
Alex D

Respuestas:


162

Supongo que está ejecutando un Linux y está utilizando gEdit para editar sus archivos. En el /etc/nginx/sites-enabled, puede haber dejado un archivo temporal, por ejemplo default~(ver el ~).

Dependiendo de su editor, el archivo podría tener un nombre .saveo algo similar. Simplemente ejecute $ ls -lahpara ver qué archivos no están destinados a estar allí y elimínelos (Gracias @Tisch por esto).

Elimine este archivo y resolverá su problema.


me arregló el problema en Ubuntu 12.04 x86_64 + nginx
Stephen Sprinkle

1
puedes aclarar? No veo ningún archivo "predeterminado ~" en mi / etc / nginx / sites habilitado solo en la carpeta "predeterminada".
David Saintloth

3
@Jakobud en /etc/nginx/sites-enabled. He editado mi respuesta para mencionarlo.
Omar Al-Ithawi

3
Tenía un archivo .save que causaba el problema.
Tisch

2
En mi caso, alguna configuración de emacs creó un archivo con un inicio y un final #, por ejemplo #portal#.
taffit

31

Tienes otro server_name ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.comen algún lugar de la configuración.


2
Lo comprobé y no encontré ninguno. no da esta advertencia cuando elimino el "ec2_xxx ...". ¿Existe un valor predeterminado implícito para 0.0.0.0:80 en la configuración de nginx?
user1447121

Documentación oficial :default: listen *:80 | *:8000;
VBart

2
Esto fue para mí, como sea localhost.
Rohmer

12

Debe haber solo un localhost definido, verificar sitios habilitados o nginx.conf.


8
Tenía dos directivas idénticas de "nombre_servidor" en dos archivos * .conf separados. Gracias.
Felipe Alvarez

1
Esto resolvió mi problema también. Había colocado 2 mismos bloques de servidor en diferentes archivos * .conf. ¡Gracias!
Pranav Jituri

1
Además, revise todos los archivos en este directorio: /etc/nginx/conf.d. Cada dominio también puede aparecer solo una vez (como servernamevalor) entre los archivos de ese directorio. Ese fue mi problema!
SherylHohman
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.