Контекст
Я запускаю приложение, содержащее несколько узловJS / Express на одном сервере с тем же IP-адресом. Я использую Nginx для обратного прокси этих приложений и перенаправления на адрес подпапки (а не поддомен, я не хочу).
ex: http://123.0.0.1: 8000 => http://monsite.com/Site1
Проблема
Мои файлы активов (css, изображения, ...) не загружаются, у меня ошибка 404 на этих состояниях c файлы при загрузке страницы. Это происходит только тогда, когда я захожу на сайт через редирект прокси http://monsite.com/Site1, а не когда я использую IP-адрес: http://123.0.0.1: 8000
Не знаю Эта проблема возникает, если используется обратный прокси-сервер из root в nginx conf: location / {
, но я хочу получить доступ к сайту с адреса подпапки
Моя интеграция
древовидные файлы:
var/www/html
|Site1/
| |server.js
| |Views/
| | |index.pug
| |Public/
| | |Css/
| | | |Style.css
|Site2/
|....
nodejs код сервера
const PORT = 8000;
const HOSTNAME = 'www.monsite.com';
// Dependencies.
const express = require('express');
const http = require('http');
// Initialization.
var app = express();
var server = http.Server(app);
app.set('port', PORT);
app.set('view engine', 'pug');
app.set('views','Views');
app.use(express.static('Public'));
app.use('/', (request, response) => {
response.render('index');
});
server.listen(PORT, HOSTNAME, function() {
console.log(`STARTING SERVER ON PORT ${PORT}`);
});
индекс мопс-кода
doctype html
html
head
title Site 1
link(rel="stylesheet" href="/Css/style.css")
body
p Hello
nginx conf
server {
listen 80;
listen [::]:80;
root /var/www/html;
index index.html index.htm index.nginx-debian.html index.php;
server_name www.monsite.com;
location / {
#Reserved for another site
}
location /Site1/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
proxy_pass http://123.0.0.1:8000/;
}
}
PS: Я испробовал почти все решения и код, которые я нашел в поисках этой проблемы, и ничего не помогло, поэтому я спрашиваю прямо здесь. Спасибо.