Nginx + Express-App im Unterverzeichnis/Speicherort, gibt 404 zurück

Nginx + Express-App im Unterverzeichnis/Speicherort, gibt 404 zurück

Ich möchte eine Express-App zugänglich machen überhttp://website.com/appund verwenden Sie Nginx als Reverse-Proxy sowie zum Bereitstellen statischer Dateien.

Dies ist meine Nginx-Konfiguration:

upstream app {
    server localhost:3333;
}

server {
    listen 80;
    server_name website.com www.website.com;
    root /var/www/website.com;

    index index.html index.htm;

    location = / {
            try_files $uri $uri/ =404;
    }
    
    location /app/ {
        alias /var/www/app/static;
        try_files $uri $uri/ @app;
    }

    location @app {
        proxy_pass http://app;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";  
    }
}

index.js (befindet sich in /var/www/app/static/) fordert einige Ressourcen über an fetch("/info").

app.js (befindet sich in /var/www/app/) soll diese Ressource bereitstellen mit

const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json())

app.get("/info", (req, res) => {
    res.header("Content-Type",'application/json');
    res.send(JSON.stringify(info));
})

app.listen(3333, () => {
    console.log("Server listening at http://localhost:3333")
})

Wenn ich besuchehttp://mywebsite.com/app, die statischen Dateien werden von nginx bereitgestellt, /infoführen aber zu einer 404-Fehlermeldung. Nginx-Fehlerprotokoll:„/var/www/website.com/info“ ist fehlgeschlagen (2: Keine solche Datei oder kein solches Verzeichnis). Die Express-App läuft ( $pm2 ls-> Status "online").

Ich gehe davon aus, dass die Proxy-Konfiguration nicht korrekt ist oder dass bei mir ein Missverständnis hinsichtlich der Funktionsweise von Nginx und Servern vorliegt (das sind meine ersten Schritte). Für Ratschläge wäre ich dankbar.

Antwort1

Sie müssen dafür einen DNS-Eintrag vornehmen,

Geben Sie den Speicherort des Inhalts an, fügen Sie den Servernamen als Site und den Speicherort des Inhalts hinzu

verwandte Informationen