Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

171
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!