Cuando ejecuto el comando para probar mi configuración, aparece un error que dice que hay múltiples duplicados para [::]:80
. Antes de eso tuve un problema con duplicar múltiples servidores predeterminados.
Cuando tuve el problema con varios servidores predeterminados, mi archivo se veía así
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.php index.html index.htm;
server_name munki;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location /report {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
location /munki_repo/ {
alias /usr/local/munki_repo/;
autoindex off;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}
}
Para resolver ese problema, cambié la configuración a:
server {
listen 80;
listen [::]:80 ipv6only=on;
root /usr/share/nginx/html;
index index.php index.html index.htm;
server_name munki;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location /report {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
location /munki_repo/ {
alias /usr/local/munki_repo/;
autoindex off;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}
}
Después del cambio, comencé a recibir un error de "opciones duplicadas para [::]: 80". No estoy seguro de lo que estoy haciendo mal con esto. Esta es la primera vez que trabajo con Nginx. ¿Alguna idea de cuál podría ser el problema?
nginx -t
salida). ¿Qué versión de nginx estás ejecutando?ipv6only=on
Puede que ya no sea necesario. Tengo esto en mi bloque de servidor:listen 80;listen [::]:80;
y funciona bien. ¿Tienes algún otro bloque de servidor?Respuestas:
Estoy creando una respuesta a partir de mi comentario anterior.
Publique el mensaje de error (
nginx -t
salida) ya que podría contener información útil.¿Qué versión de nginx estás ejecutando? Es
ipv6only=on
posible que la opción ya no sea necesaria y, por el contrario, puede crear problemas. Tengo esto en mi bloque de servidor y funciona bien:¿Tiene algún otro bloque de servidor que no haya publicado que pueda entrar en conflicto?
Explicación: Vamos a leer la corriente (1,13) nginx documentación :
Este parámetro está activado de manera predeterminada, lo que significa que no debe usarlo
ipv6only=on
. No sirve de nada y potencialmente puede crear problemas (ver el siguiente punto).Sólo se puede establecer una vez que significa que si usted tiene más de una vez en cualquier lugar en su configuración (como en diferentes bloques de servidor), se generará un error:
nginx: [emerg] duplicate listen options for [::]:80
.fuente