Quando executo o comando para testar minha configuração, recebo um erro dizendo que existem várias duplicatas para [::]:80
. Antes disso, eu tinha um problema com vários servidores padrão duplicados.
Quando tive o problema com vários servidores padrão, meu arquivo ficou assim
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 esse problema, alterei a configuração para:
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;
}
}
Após a alteração, comecei a receber o erro "opções duplicadas para [::]: 80". Não tenho certeza do que estou fazendo de errado com isso. Esta é minha primeira vez trabalhando com o Nginx. Alguma idéia de qual poderia ser o problema?
nginx -t
saída). Qual versão do nginx você está executando?ipv6only=on
pode não ser mais necessário. Eu tenho isso no meu bloco de servidor:listen 80;listen [::]:80;
e funciona bem. Você tem outros blocos de servidor?Respostas:
Estou criando uma resposta do meu comentário anterior.
Poste a mensagem de erro (
nginx -t
saída), pois ela pode conter informações úteis.Qual versão do nginx você está executando? A opção
ipv6only=on
pode não ser mais necessária e, pelo contrário, potencialmente criar problemas. Eu tenho isso no meu bloco de servidor e ele funciona bem:Você tem outros bloqueios de servidor que você não postou que possam entrar em conflito entre si?
Explicação: vamos ler a corrente (1,13) nginx documentação :
Este parâmetro está ativado por padrão significa que você não deve usar
ipv6only=on
. Não adianta nada e pode potencialmente criar problemas (veja o próximo ponto).Ela só pode ser definido uma vez significa que se você tem mais de uma vez em qualquer lugar em sua configuração (como em diferentes blocos de servidor), ele irá lançar um erro:
nginx: [emerg] duplicate listen options for [::]:80
.fonte