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

470
Vistas
Express, Docker y Nginx: la IP real no se muestra en Express

Tengo una puerta de enlace api que está dockerizada y usa nginx como equilibrador de carga. Necesito obtener la dirección IP del cliente original pero no funciona, sigo obteniendo la IP de nginx (sé que es la IP de nginx porque si le hago una solicitud, obtengo la respuesta de mi aplicación)

nginx.conf

 # cache requests for 10m up to 10g with auto removal after 60m proxy_cache_path /tmp/nginx_cache/ levels=1:2 keys_zone=backcache:10m max_size=10g inactive=60m use_temp_path=off; # allow 10 requests per second with burst cap at 20 (see location block) limit_req_zone $binary_remote_addr zone=custom_limit:10m rate=10r/s; upstream gateway { # balance requests based on which gateway has the least # of active connections server gateway_a:4001; server gateway_b:4002; } server { listen 80; gzip on; location / { # rate-limit but allow for bursting of up to 20 req with nodelay in queue additions limit_req zone=custom_limit burst=20 nodelay; proxy_http_version 1.1; # cache config proxy_cache backcache; proxy_cache_bypass $http_upgrade; proxy_cache_revalidate on; proxy_cache_min_uses 3; proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504; proxy_cache_background_update on; proxy_cache_lock on; # proxy headers proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Remote-Port $remote_port; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://gateway; } }

índice.js

 import os from "os"; import express from "express"; import setupLogging from "./logging"; import setupProxies from "./proxy"; import ROUTES from "./routes"; const { PORT = 8080 } = process.env; const app = express(); app.use(express.json()); app.use( express.urlencoded({ extended: true, }), ); setupLogging(app); setupProxies(app, ROUTES); app.set("trust proxy", true); app.get("/", (req, res) => res.send(`<h1>Hi, my name is ${os.hostname()}</h1>`) ); app.get("/health", (req, res) => res.sendStatus(200)); app.listen(PORT, () => { global.console.info(`Gateway listening at http://localhost:${PORT}`); });

También estoy usando la biblioteca http-proxy-middleware, necesito procesar la dirección IP en la opción onProxyReq

over 4 years ago · Santiago Trujillo
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