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

164
Vistas
Obtenga la URL del servidor de Express cuando lo use como proxy

Estoy usando express con express-http-proxy como proxy para algunas de mis aplicaciones. Tengo subdominios específicos como parte de mi aplicación de los que quiero obtener el valor.

Por ejemplo, hago una solicitud a mi proxy a través de curl

 curl google.com --proxy https://subdomainX.localhost:8000

Quiero leer el valor de subdomainX . Sin embargo, la solicitud Express solo tiene la URL y los valores de host del dominio al que me estoy dirigiendo (google.com en este caso).

Quiero leer el requisito de mi propio servidor si esto es posible.

Este es el siguiente código de servidor de muestra:

 import express from "express"; import proxy from "express-http-proxy"; const proxyApp = express(); proxyApp.use((req, res, next) => { // I'd like to get the subdomain subdomainX here // so I can perform logic with it const subdomain = req.headers.host // this is google.com if (subdomain === "subdomainX") { next(); return; } res.send("Not authorized"); }); proxyApp.use( proxy( (req) => { return req.protocol + "://" + req.get("host"); }, { https: true, } ) );
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El cliente resuelve el nombre de host del proxy en una dirección IP a través del servidor de nombres de dominio y luego se conecta a esa dirección IP. Luego usa esta conexión para enviar una solicitud HTTP que parece

 GET http://google.com HTTP/1.1 Host: google.com

y no contiene ningún rastro del nombre de host del proxy.

Solo el servidor de nombres de dominio conoce el nombre de host del proxy, no el servidor proxy en sí.

Pero si su aplicación puede especificar diferentes nombres de host de proxy para diferentes solicitudes, podría igualmente especificar un encabezado adicional en la solicitud y "puede realizar la lógica con" ese encabezado. El cliente entonces

 curl google.com -H "X-Proxy-Subdomain:subdomainX" --proxy https://localhost:8000

y su proxy eliminaría ese encabezado antes de reenviar la solicitud a google.com.

Una observación adicional: el código que proporcionó anteriormente solo funciona si el cliente realiza una solicitud HTTP. Si el cliente realizó una solicitud HTTPS, el proxy solo podría verla en el evento de connect , no en las funciones de middleware.

about 4 years ago · Juan Pablo Isaza 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