kesalahan nginx "nama server yang konflik" diabaikan [ditutup]


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;
}

}

ini menghasilkan kesalahan nignx [peringatan] nama server yang bertentangan "ec2 ..." di 0.0.0.0:80 diabaikan Saya tidak mengerti, penjelasan apa pun dihargai. Terima kasih.


Sepertinya ada default implisit 0.0.0.0:80, menambahkannya secara eksplisit bekerja untuk saya. dengarkan ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com:80; diikuti oleh direktif server_name bekerja.
— pengguna1447121

1
Periksa /etc/nginx/sites-available/<site-name>yang ditautkan ke /etc/nginx/sites-enabled/<site-name>. File tambahan di sini mungkin berisi konfigurasi duplikat atau konflik.
— Hanxue

berubah config.force_ssl = trueuntuk falsememecahkan masalah saya, saya butuh waktu berhari-hari untuk mengetahuinya
— Muyide Ibukun

1
Bagi saya kesalahan yang sama ini berasal dari titik koma yang hilang di akhir salah satu server_namebaris ketika saya memiliki beberapa serverentri.
— Kevin

2
Certbot dari LetsEncrypt telah menambahkan blok server di file default dalam kasus saya. Itu terjadi karena saya mencoba mendapatkan sertifikat sebelum saya menyiapkan blok server terpisah.
— Alex D

Jawaban:


162

Saya berasumsi bahwa Anda menjalankan Linux, dan Anda menggunakan gEdit untuk mengedit file Anda. Di /etc/nginx/sites-enabled, mungkin telah meninggalkan file temp misalnya default~(perhatikan ~).

Bergantung pada editor Anda, file dapat diberi nama .saveatau semacamnya. Jalankan saja $ ls -lahuntuk melihat file mana yang tidak diinginkan ada di sana dan hapus mereka (Terima kasih @Tisch untuk ini).

Hapus file ini, dan itu akan menyelesaikan masalah Anda.


memperbaiki masalah untuk saya di Ubuntu 12.04 x86_64 + nginx
— Stephen Sprinkle

1
bisakah kamu menjelaskan? Saya tidak melihat file "default ~" sama sekali di / etc / nginx / sites-enabled saya hanya di folder "default".
— David Saintloth

3
@Jakobud in /etc/nginx/sites-enabled. Saya telah mengedit jawaban saya untuk menyebutkannya.
— Omar Al-Ithawi

3
Saya memiliki file .save yang menyebabkan masalah.
— Tisch

2
Dalam kasus saya, beberapa konfigurasi emacs membuat file dengan awalan dan akhir #, mis #portal#.
— taffit

31

Anda memiliki server_name ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.comtempat lain di konfigurasi.


2
Saya sudah memeriksanya dan tidak menemukannya. itu tidak memberikan peringatan ini ketika saya menghapus "ec2_xxx ...". Apakah ada default implisit untuk 0.0.0.0:80 di konfigurasi nginx?
— pengguna1447121

Dokumentasi resmi :default: listen *:80 | *:8000;
— VBart

2
Ini untukku, bagaimanapun juga localhost.
— Rohmer

12

Seharusnya hanya ada satu localhost yang ditentukan, periksa sites-enabled atau nginx.conf.


8
Saya memiliki dua perintah "nama_server" yang identik dalam dua file * .conf yang terpisah. Terima kasih.
— Felipe Alvarez

1
Ini memecahkan masalah saya juga. Saya telah menempatkan 2 blok server yang sama di file * .conf yang berbeda. Terima kasih!
— Pranav Jituri

1
Juga, periksa semua file dalam direktori ini: /etc/nginx/conf.d. Setiap domain juga dapat muncul hanya sekali (sebagai servernamenilai) di antara file dalam direktori itu. Itu masalah saya!
— SherylHohman
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.