nginx port kann mit netcat nicht erreicht werden

435
Simon Ernesto Cardenas Zarate

Ich habe diese einfache Nginx-Konfigurationsdatei:

server { listen 4000; location / { root /usr/share/nginx/html; index index.html index.htm; try_files $uri $uri/ /index.html =404; } } 

Nginx-Dienst läuft, aber wenn ich ausgeführt werde:

nc -z localhost 4000 

Ich bekomme keine Antwort, aber wenn ich nach Port 80 suche, funktioniert es:

nc -z localhost 80 Connection to localhost 80 port [tcp/http] succeeded! 

Ich arbeite mit Nginx auf dem Docker mit den Ports 80 und 4000, die frei liegen.

2

1 Antwort auf die Frage

2
Tomasz

Hier handelt es sich um zwei Dinge.

  1. Möglicherweise verwenden Sie zwei verschiedene ncs. Eine stumm und eine verbose. In diesem Fall verwenden Sie für die Stummschaltung entweder den -vSchalter, um ihn anzusprechen, oder verwenden Sie den Exit-Code $?. (0 für Erfolg, 1 für Fehler.)

  2. Wenn 1. nicht der Fall ist, verwenden Sie -voder $?trotzdem. Schwer zu sagen, was der Grund für dieses gemischte Verhalten bei verschiedenen Ports sein könnte.

Illustration:

$ nc -z localhost 8080 $ echo $? 0 $ nc -z localhost 8081 $ echo $? 1 $ nc -zv localhost 8081 nc: connect to localhost port 8081 (tcp) failed: Connection refused nc: connect to localhost port 8081 (tcp) failed: Connection refused $ nc -zv localhost 8080 Connection to localhost 8080 port [tcp/http-alt] succeeded!  
Ich bekomme die Verbindung zu Port 4000 abgelehnt, sowie Exit-Code 1 (nicht erfolgreich). Ich denke, das hat mehr mit einer Nginx-Sache zu tun, die ich nicht verstehe Simon Ernesto Cardenas Zarate vor 5 Jahren 0
@SimonErnestoCardenasZarate Überprüfen Sie die Weiterleitung und die Firewall des Docker-Ports. Tomasz vor 5 Jahren 0
@SimonErnestoCardenasZarate Und Nginx-Status und Protokolle. Tomasz vor 5 Jahren 0