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.