Contexto
Estoy ejecutando múltiples aplicaciones nodesJS/Express en el mismo servidor con la misma dirección IP. Uso Nginx para revertir el proxy de esas aplicaciones y redirigirlas a la dirección de la subcarpeta (y no al subdominio, no quiero).
ejemplo: http://123.0.0.1:8000 => http://monsite.com/Site1
Problema
Mis archivos de activos (css, imágenes, ...) no se cargan, tengo un error 404 en esos archivos estáticos cuando se carga la página. Ocurre solo cuando accedo al sitio a través de la redirección de proxy http://monsite.com/Site1 y no cuando uso la dirección IP: http://123.0.0.1:8000
No tengo este problema si uso la ubicación del proxy inverso desde la raíz en nginx conf: location / { pero quiero acceder al sitio desde una dirección de subcarpeta
mi integración
Archivos de árbol:
var/www/html |Site1/ | |server.js | |Views/ | | |index.pug | |Public/ | | |Css/ | | | |Style.css |Site2/ |....código del servidor 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}`); });índice pug código
doctype html html head title Site 1 link(rel="stylesheet" href="/Css/style.css") body p Helloconferencia nginx
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/; } }PD: probé casi todas las soluciones y el código que encontré buscando este problema y nada funcionó, por eso pregunto directamente aquí. Gracias.
Creo que el problema es con la url en la etiqueta del enlace para cargar el css, la url no es válida porque la url es en realidad /Site1/Css/style.css .