2012-07-06 13 views
6

Tengo una aplicación corriendo en rieles heroku en, por ejemplo myapp.herokuapp.com.Añadir un servidor proxy inverso para heroku

Ahora quiero proxy inverso myapp.heroku.com/proxy/-somewhereelse.com/ (es decir: myapp.heroku.com/proxy/stuff se proxifed inversa para somewhereelse.com/stuff) Es eso posible en Heroku? ¿Cómo lograr esto?

Respuesta

6

Para cualquiera que venga a esta pregunta a través de una búsqueda, esto se puede hacer.

Salida https://github.com/ryandotsmith/nginx-buildpack al proveedor nginx en su instancia heroku. Esto colocará nginx en frente de su aplicación de rieles y le permitirá revertir solicitudes de proxy en este dominio, con su aplicación heroku configurada como apex y permitiendo que somewhereelse.com/stuff vaya a otro lado.

+0

Gracias. Muy buena forma de usar heroku. –

0

Usted no tiene acceso a la infraestructura de enrutamiento frontend así que no es posible hacer algo así como añadir la ubicación nginx proxy inverso basado o modproxy de Apache. Por lo que yo entiendo, solo puedes enlazar a un puerto (el $ PORT) dentro del banco de pruebas así que no es posible sombrear tu aplicación de Rails con tu propia versión vendida de nginx (a menos que sea posible comunicarse a través de un socket que no sea TCP/IP nginx y su aplicación de rack/rails, si este es el caso, entonces quizás pueda obtener rack para escuchar /tmp/mysocket.git y nginx para revertir el proxy en esto, esto podría ser un comienzo, sin embargo, estoy lanzando ideas) .

Lo que significa la única opción probable si tiene que manejar esto usted mismo en su aplicación de rieles, solo tengo un poco de experiencia en rieles/rubí, pero si no existe una funcionalidad de proxy en rieles entonces tal vez pueda aceptar explícitamente la ruta y luego usa un cliente http para invocar las otras partes.

Cuestiones relacionadas