Ich brauche Hilfe von einigen Linux-Gurus. Ich arbeite an einer Webapp, die einen Comet-Server enthält. Der Comet-Server wird auf localhost: 8080 ausgeführt und stellt die URL localhost: 8080/long_polling für Clients bereit, mit denen eine Verbindung hergestellt werden kann. Meine Webapp läuft auf localhost: 80.Nginx-Proxy zu Kometen
ich nginx Proxy-Anfragen von nginx zum Kometen-Server verwendet haben (localhost: 80/long_polling auf localhost proxied: 8080/long_polling), aber ich habe zwei gripes mit dieser Lösung:
- nginx gibt mir eine 504 Gateway-Timeout nach einer Minute, obwohl ich JEDES einzelne Timeout-Einstellung zu 600 Sekunden ändere
- Ich möchte nicht wirklich Nginx Proxy auf den Comet-Server sowieso haben - der Nginx-Proxy ist nicht für lang anhaltende Verbindungen gebaut (bis zu einer halben Stunde möglich). Ich würde den Clients lieber erlauben, sich direkt mit dem Comet-Server zu verbinden und den Comet-Server damit umgehen zu lassen.
Also meine Frage ist: Gibt es eine Linux-Trick, der mir localhost zu belichten erlaubt: 8080/long_polling zu localhost: 80/long_polling ohne den nginx Proxy zu verwenden? Da muss etwas sein. Deshalb denke ich, dass diese Frage wahrscheinlich am besten von einem Linux-Guru beantwortet werden kann.
Der Grund, warum ich/long_polling auf Port 80 ausgesetzt werden muss, ist, so dass ich AJAX verwenden kann, um eine Verbindung herzustellen (Ajax same-origin-policy).
Diese Referenz mein nginx proxy.conf ist:
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;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
send_timeout 600;
proxy_buffering off;
Nun, wenn Nginx diese kleine Menge an Speicher verwendet, würde ich es gerne mit Nginx als Front-Proxy-Server dann arbeiten. Sie müssen nur den "504 Gateway Time-Out" -Fehler beheben, der nach etwa einer Minute auftritt (immer nach etwa 55 - 65 Sekunden). Danke für Ihre Antwort. Ich verwende node.js als COMET-Server. – Chris