Ich habe einen nginx Reverse-Proxy einrichten wesentlichen this unten wiedergegeben aufgebauter zum Knoten:Schwierigkeiten, eine Datei von node.js bekommen nginx mit Reverse-Proxy-
upstream nodejs {
server localhost:3000;
}
server {
listen 8080;
server_name localhost;
root ~/workspace/test/app;
location/{
try_files $uri $uri/ @nodejs;
}
location @nodejs {
proxy_redirect off;
proxy_http_version 1.1;
proxy_pass http://nodejs;
proxy_set_header Host $host ;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Nun sind alle reisen meine Anfragen AJAX POST einfach gut zu der Knoten mit dieser Einstellung, aber ich bin für Dateien danach abfragen, die ich nicht finden kann, wenn ich eine clientside AJAX GET-Anfrage an den Node-Server (über diesen Nginx-Proxy).
Zum Beispiel für ein clientseitige JavaScript-Anfrage wie .get('Users/myfile.txt')
der Browser für die Datei auf localhost:8080
aussehen, aber es wird nicht gefunden, weil es tatsächlich zu localhost:3000
http://localhost:8080/Users/myfile.txt // what the browser searches for
http://localhost:3000/Users/myfile.txt // where the file really is
geschrieben Wie richte ich den Proxy zu dieser Datei navigieren?
Es sieht so aus, als ob Node.js es auf 8080 routet. Können Sie die entsprechende Konfiguration anzeigen? –
Ich benutze Knoten und Express. Die einzige Konfigurationsdatei, die ich mir vorstellen kann, ist für nginx, die ich gepostet habe. Ein Szenario ist, dass ich 'app.post ('/ data')' habe, um die Daten im Knoten-Server-Code, aber nicht 'app.get() 'zu behandeln. Die Datei wird stattdessen von einer separaten Engine geschrieben. Muss ich 'app.get()' im Knoten explizit einrichten, damit der Proxy erkannt wird? Oder ist der Schuldige in nginx.conf? – o1sound
Sorry, ich habe falsch gelesen. Es ist Routing zu 8080, weil das Ihre NGINX-Konfiguration zuhört. In jedem Fall wird NGINX dies an Port 3000 weitergeben, wenn es bei der 'try_files' Direktive fehlschlägt, also sollte es die Datei trotzdem finden. Erhalten Sie 404 in den Protokolldateien? –