He podido hacer un proxy inverso usando Nginx para redirigir las solicitudes POST realizadas al puerto 8080 al puerto 8081. Ahora, me gustaría redirigirlos al 8082 adicionalmente.
events {} http { server { listen 127.0.0.1:8080; location / { proxy_pass http://127.0.0.1:8081/; } location /api/ { proxy_pass http://127.0.0.1:8082/; } } }Pero al hacer esto, solo recibo las solicitudes en el puerto 8081, y no en el 8082 con el punto final /api. Además, me gustaría no usar ningún punto final ( / ) en ambas configuraciones de proxy inverso si es posible.
Gracias.
Creo que el problema es que el servidor que escucha en el puerto 8082 en realidad está recibiendo el tráfico, pero recibe un error porque el proxy solicita /api/ en lugar de / , ya que literalmente solo está reenviando la solicitud. Si este es realmente el problema, volver a escribir la solicitud antes de pasarla a través del proxy debería ser suficiente.
server { listen 127.0.0.1:8080; location / { proxy_pass http://127.0.0.1:8081/; } location /api/ { rewrite /api/(.*) /$1 break; proxy_pass http://127.0.0.1:8082/; } } }Desafortunadamente, no estoy muy seguro de lo que quieres decir con tu última oración. ¿Quiere decir que también desea que se pueda acceder al punto final de la API a través del URI base?