Приложение Nginx + Express в подкаталоге/местоположении, возвращающее 404

Приложение Nginx + Express в подкаталоге/местоположении, возвращающее 404

Я хочу сделать приложение Express доступным черезhttp://website.com/appи использовать nginx в качестве обратного прокси-сервера, а также для обслуживания статических файлов.

Вот моя конфигурация nginx:

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 (расположен в /var/www/app/static/) запрашивает некоторый ресурс через fetch("/info").

app.js (расположенный в /var/www/app/) должен доставлять указанный ресурс с

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")
})

Когда я посещаюhttp://mywebsite.com/app, статические файлы обслуживаются nginx, но /infoвыдают ошибку 404. Журнал ошибок Nginx:"/var/www/website.com/info" не удалось (2: нет такого файла или каталога). Приложение Express запущено ( $pm2 ls-> статус «онлайн»).

Предполагаю, что прокси настроен неправильно или есть недопонимание того, как работает nginx и серверы с моей стороны (это мои первые шаги). Буду благодарен за совет.

решение1

для этого вам нужно сделать запись DNS,

Укажите местоположение контента, добавьте имя сервера в качестве сайта и в местоположении контента

Связанный контент