Ketika saya menjalankan perintah untuk menguji konfigurasi saya, saya mendapatkan kesalahan mengatakan ada beberapa duplikat untuk [::]:80
. Sebelum itu saya punya masalah dengan duplikat beberapa server default.
Ketika saya memiliki masalah dengan beberapa server default, file saya terlihat seperti ini
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;
}
}
Untuk mengatasi masalah itu, saya mengubah konfigurasi menjadi:
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;
}
}
Setelah perubahan saya mulai mendapatkan "opsi duplikat untuk kesalahan [::]: 80". Saya tidak yakin apa yang saya lakukan salah dengan ini. Ini adalah pertama kalinya saya bekerja dengan Nginx. Adakah gagasan tentang apa masalahnya?
nginx -t
output). Apa versi nginx yang Anda jalankan?ipv6only=on
mungkin tidak dibutuhkan lagi. Saya memiliki ini di blok server saya:listen 80;listen [::]:80;
dan itu berjalan dengan baik. Apakah Anda memiliki blok server lain?Jawaban:
Saya membuat jawaban dari komentar saya sebelumnya.
Silakan kirim pesan kesalahan (
nginx -t
output) karena dapat berisi beberapa wawasan yang bermanfaat.Apa versi nginx yang Anda jalankan? Opsi
ipv6only=on
mungkin tidak diperlukan lagi dan sebaliknya berpotensi menimbulkan masalah. Saya memiliki ini di blok server saya dan berfungsi dengan baik:Apakah Anda memiliki blok server lain yang tidak Anda posting yang mungkin bertentangan satu sama lain?
Penjelasan: mari kita baca dokumentasi nginx saat ini (1.13) :
Parameter ini diaktifkan secara default berarti Anda tidak boleh menggunakan
ipv6only=on
. Itu tidak ada gunanya dan berpotensi dapat menimbulkan masalah (lihat poin berikutnya).Ini hanya dapat diatur sekali berarti bahwa jika Anda memiliki lebih dari sekali di mana saja dalam konfigurasi Anda (seperti di blok server yang berbeda), itu akan melemparkan kesalahan:
nginx: [emerg] duplicate listen options for [::]:80
.sumber