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

220
Vistas
Cómo enrutar a diferentes servidores y espacios de nombres

Por favor, perdónenme si esto es un poco confuso, mis habilidades de DevOps/arquitectura son mínimas, por lo que no estoy muy seguro de la terminología correcta.

Tengo una aplicación de reacción alojada en AWS que quiero ubicar en la raíz mysite.com , así como en ciertos 'subdirectorios', por ejemplo, mysite.com/items y mysite.com/category .

Además, quiero tener un blog alojado en otro lugar pero accesible en mysite.com/blog y algunas páginas estáticas misceláneas como mysite.com/about , mysite.com/contact . Me gustaría que esas páginas estáticas se alojen en el mismo lugar (estoy pensando en webflow).

Esto parece una configuración un poco compleja, pero me pregunto cuál sería la mejor solución. ¿Funcionaría un proxy inverso con Nginx? Si es así, ¿cómo lo configuraría? ¿Existen otras soluciones 'sin servidor' que puedan funcionar?

¿Quizás haya una manera de enviar todo el tráfico al servidor de páginas estáticas a menos que sea la raíz o el /items o /category o /blog específicos?

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

0

Hola, una configuración básica podría verse así:

 server { listen 8080; return 200 "Blog \n"; } server { listen 8081; return 200 "About and Contact \n"; } server { listen 80; location = /about { proxy_pass http://localhost:8081; } location /blog { proxy_pass http://localhost:8080; } }

Déjame agregarle algo de texto :)

si solo desea tener una ubicación / sobre sin nada más en la ubicación, puede usar = /about

intentar agregar algo detrás /about como /about/foo resultará en un 404.

Si desea enviar el blog por proxy a otra ubicación, use /blog . Con esta configuración, puede agregar algo a su ubicación como /blog/test/ y seguirá respondiendo con un 200.

 [root@localhost conf.d]# curl -v localhost/blog/test * About to connect() to localhost port 80 (#0) * Trying ::1... * Connection refused * Trying 127.0.0.1... * Connected to localhost (127.0.0.1) port 80 (#0) > GET /blog/test HTTP/1.1 > User-Agent: curl/7.29.0 > Host: localhost > Accept: */* > < HTTP/1.1 200 OK < Server: nginx/1.17.6 < Date: Tue, 17 Mar 2020 06:09:31 GMT < Content-Type: application/octet-stream < Content-Length: 12 < Connection: keep-alive < /blog/test * Connection #0 to host localhost left intact

La forma sin servidor en el desarrollo

está usando algo en su aplicación de reacción para enrutar el tráfico al objetivo correcto.

https://create-react-app.dev/docs/proxying-api-requests-in-development#configuring-the-proxy-manualmente

¡Hice esto para uno de mis proyectos y funciona muy bien!

Compartiré mi archivo sin adaptarlo a su pregunta solo como referencia general e idea.

 const proxy = require('http-proxy-middleware'); module.exports = function (app) { app.use('/api', proxy({ target: 'http://localhost:8080', changeOrigin: true, })); app.use('/img', proxy({ target: 'http://localhost:8080', changeOrigin: true, })); app.use('/oauth', proxy({ target: 'http://localhost:8080', changeOrigin: true, })); };

Este archivo (setupProxy.js) vive dentro del directorio thr src en el nivel raíz.

para la producción

Solo sé sobre alguna integración con express ontop de node.js. Como el proxy está profundamente relacionado con el protocolo http, definitivamente necesita algún componente de servidor que comprenda el protocolo http.

He notado un par de desventajas durante los últimos meses usando un servidor web express como proxy. El almacenamiento en caché es más efectivo en el nivel de NGINX. Si la complejidad del enrutamiento aumenta, NGINX puede manejarlo mucho mejor.

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