Błąd nginx „nazwa serwera powodującego konflikt” zignorowano [zamknięto]

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

}

skutkuje to błędem nignx [ostrzeżenie], w konflikcie nazwa serwera "ec2 ..." na 0.0.0.0:80 zignorowano Nie rozumiem, wszelkie wyjaśnienia są mile widziane. Dzięki.

user1447121
źródło
Wygląda na to, że istnieje domniemana domyślna wartość 0.0.0.0:80, dodając, że wyraźnie zadziałała. słuchaj ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com:80; po czym dyrektywa server_name zadziałała.
user1447121
1
Sprawdź, /etc/nginx/sites-available/<site-name>czy jest połączony z /etc/nginx/sites-enabled/<site-name>. Dodatkowe pliki mogą zawierać zduplikowaną lub sprzeczną konfigurację.
Hanxue,
przejście config.force_ssl = truena falserozwiązanie mojego problemu zajęło mi kilka dni,
zanim się zorientowałem
1
Dla mnie ten sam błąd wynikał z brakującego średnika na końcu jednej z server_namelinii, gdy miałem kilka serverwpisów.
Kevin
2
Certbot z LetsEncrypt dodał blok serwera w domyślnym pliku w moim przypadku. Zrobiło to, ponieważ próbowałem uzyskać certyfikat, zanim skonfigurowałem oddzielny blok serwera.
Alex D

Odpowiedzi:

162

Zakładam, że używasz Linuksa i używasz gEdita do edycji plików. W programie /etc/nginx/sites-enabledmógł zostawić plik tymczasowy, np. default~(Obejrzyj plik~ ).

W zależności od edytora plik może mieć nazwę .savelub coś podobnego. Po prostu biegnij, $ ls -lahaby zobaczyć, które pliki są tam niezamierzone i usuń je (dzięki @Tisch za to).

Usuń ten plik, a to rozwiąże problem.

Omar Al-Ithawi
źródło
naprawiono problem dla mnie na Ubuntu 12.04 x86_64 + nginx
Stephen Sprinkle,
1
możesz wyjaśnić? Nie widzę żadnych plików „default ~” w moim / etc / nginx / sites-enabled tylko w folderze „default”.
David Saintloth,
3
@Jakobud w /etc/nginx/sites-enabled. Zredagowałem moją odpowiedź, aby o tym wspomnieć.
Omar Al-Ithawi
3
Miałem plik .save, który powodował problem.
Tisch
2
W moim przypadku jakaś konfiguracja emacsa utworzyła plik z początkiem i końcem #, np #portal#.
taffit
31

Masz inny server_name ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.comgdzieś w konfiguracji.

VBart
źródło
2
Sprawdziłem to i nie znalazłem żadnego. nie daje tego ostrzeżenia, gdy usuwam „ec2_xxx ...”. Czy istnieje domniemana wartość domyślna dla 0.0.0.0:80 w konfiguracji nginx?
user1447121
Oficjalna dokumentacja :default: listen *:80 | *:8000;
VBart
2
To było to dla mnie, jakkolwiek było localhost.
Rohmer
12

Powinien być zdefiniowany tylko jeden lokalny host, sprawdź, czy witryna jest włączona lub nginx.conf.

Marin
źródło
8
Miałem dwie identyczne dyrektywy "nazwa_serwera" w dwóch oddzielnych plikach * .conf. Dzięki.
Felipe Alvarez
1
To również rozwiązało mój problem. Umieściłem 2 takie same bloki serwera w różnych plikach * .conf. Dzięki!
Pranav Jituri
1
Należy także sprawdzić wszystkie pliki w katalogu: /etc/nginx/conf.d. Każda domena może pojawić się tylko raz (jako servernamewartość) również wśród plików w tym katalogu. To był mój problem!
SherylHohman