Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

772
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda