Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

769
Vistas
Cómo servir archivos estáticos (CSS, ...) con múltiples aplicaciones Express + NGINX como servidor proxy inverso

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 Hello

conferencia 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.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

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 .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda