Greifen Sie mit nginx auf einfache node.js-App-Subdirs zu

335
Olivier Krull

Ich habe einen Ubuntu-Server, auf dem Nginx installiert ist, und führe eine einfache node.js-App auf Port 3000 aus.

Ich habe es geschafft, Nginx so zu konfigurieren, dass mir die App auf / bereitgestellt wird.

Meine Struktur sieht so aus:

mainFolder app.js etc... ------------->folder1 index.html ----------->folder2 index.html 

Beim Zugriff auf die Server-IP- index.htmlAdresse im Browser erhalte ich den Ordner 1: Dies ist richtig.

Aber wenn ich versuche zuzugreifen, myIp/folder2/index.html bekomme ich: 404 Not Found

Nginx config:

server { listen 80 default_server; listen [::]:80 default_server ipv6only=on;  location / { proxy_pass http://localhost:3000; # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; # Uncomment to enable naxsi on this location # include /etc/nginx/naxsi.rules auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd; } 

Könnte jemand erklären, was ich hier falsch mache?

Hilfe wäre sehr dankbar.

0

1 Antwort auf die Frage

0
Nathan.Eilisha Shiraini

Aus dem Dateibaum, den Sie zur Verfügung gestellt, das verstehe ich folder2in liegt folder1. Für den Zugriff bedeutet dies folder2/index.html, dass die vollständige URL, die Sie verwenden sollten, lautet: 127.0.0.1/folder1/folder2/index.htmlErsetzen der IP durch Ihren IP- / Domain-Namen.

Wenn Sie darauf zugreifen möchten, 127.0.0.1/folder2/index.htmlmüssen Sie folder2den gleichen Ordner wie folder1.

Du hast deine Antwort, aber ich habe es gerade geschafft, dass es funktioniert. Ich habe gerade auskommentiert: try_files $ uri $ uri / = 404; Olivier Krull vor 8 Jahren 0