Lo que quiero hacer es
Cuando alguien visita http://localhost/route/abc
el servidor responde exactamente igual quehttp://localhost:9000/abc
Ahora configuro mi Nginx así:
location /route {
proxy_pass http://127.0.0.1:9000;
}
La solicitud http se envía 9000
correctamente al puerto , pero la ruta que recibió http://localhost:9000/route/abc
no lo es http://localhost:9000/abc
.
Cualquier sugerencia ?
/
está bien documentado como la forma de eliminar el prefijo que aparece en la ubicación.Creo que puede usar reescribir para eliminar la parte adicional de la URL. En su caso, creo que podría usar:
Sin embargo, si su aplicación tiene enlaces internos, aún pueden apuntar a / abc / foo, y si hace esto, en su lugar, deben apuntar a / route / abc / foo para que la solicitud sin procesar llegue correctamente. Es mejor dejar la configuración de nginx como está y, en su lugar, configurar su aplicación para que se dé cuenta de que vive en un subdirectorio, si puede.
Sé que esta es una vieja pregunta, ¡pero fue el mejor éxito de Google para mí cuando estaba tratando de resolver el mismo problema!
fuente
Intenta lo siguiente
fuente
vim nginx.conf
Este código escucha en 8080 y redirige al puerto 8787 en compute-1-36. Puede seleccionar otra ruta en la ubicación /
fuente