Ich verwende Nginx als Reverse-Proxy, der Anforderungen entgegennimmt und dann einen Proxy-Pass ausführt, um die eigentliche Webanwendung vom Upstream-Server abzurufen, der auf Port 8001 ausgeführt wird.
Wenn ich zu mywebsite.com gehe oder ein Wget mache, erhalte ich nach 60 Sekunden ein 504 Gateway Timeout ... Wenn ich jedoch mywebsite.com:8001 lade, wird die Anwendung wie erwartet geladen!
Etwas hindert Nginx also daran, mit dem Upstream-Server zu kommunizieren.
All dies begann, nachdem meine Hosting-Firma den Computer zurückgesetzt hatte, auf dem meine Sachen liefen, bevor es überhaupt keine Probleme gab.
Hier ist mein vhosts-Serverblock:
server {
listen 80;
server_name mywebsite.com;
root /home/user/public_html/mywebsite.com/public;
access_log /home/user/public_html/mywebsite.com/log/access.log upstreamlog;
error_log /home/user/public_html/mywebsite.com/log/error.log;
location / {
proxy_pass http://xxx.xxx.xxx.xxx:8001;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Und die Ausgabe aus meinem Nginx-Fehlerprotokoll:
2014/06/27 13:10:58 [error] 31406#0: *1 upstream timed out (110: Connection timed out) while connecting to upstream, client: xxx.xx.xxx.xxx, server: mywebsite.com, request: "GET / HTTP/1.1", upstream: "http://xxx.xxx.xxx.xxx:8001/", host: "mywebsite.com"