Saber que puerto abre mi APP en Heroku

1,396 views
Skip to first unread message

Gabriel Rodriguez

unread,
Feb 7, 2013, 10:18:06 AM2/7/13
to rub...@googlegroups.com
Hola Gente,

Puse una App en Heroku que recibe datos XML y los parsea mediante "nokogiri" para alojarlos en una DB

Necesito saber a que puerto de mi APP debo hacerle el POST ya que en el caso del localhost anda sin problemas haciendo :

Dirección : http://localhost:4567/  Puerto : 4567

Pero en el caso de la APP en Heroku hago :

Dirección : http://APP.herokuapp.com/  Puerto : 5432 (puerto de la DB)

y no anda, en realidad ni siquiera de un error ya que no recibe absolutamente nada, supongo que debe ser porque esta mal el PUERTO ya que deberia ser el de la aplicación y no el de la DB, pero no sé como obtener el Puerto en el que se esta abriendo la App de Heroku.

probe con "heroku config", "heroku ps", "heroku pg:info", etc.. pero ninguno me muestra el puerto en que corre la aplicación.

Nacho Facello

unread,
Feb 7, 2013, 11:00:04 AM2/7/13
to rub...@googlegroups.com
80.

Suele ser el puerto por defecto de HTTP.


2013/2/7 Gabriel Rodriguez <prologic...@gmail.com>


--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a rubysur+u...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 



--
Nacho Facello
:wq

Gabriel Rodriguez

unread,
Feb 7, 2013, 11:11:32 AM2/7/13
to rub...@googlegroups.com, na...@nucleartesuji.com
No, con el puerto 80 ya probe tampoco funciona

Nacho Facello

unread,
Feb 7, 2013, 11:15:34 AM2/7/13
to rub...@googlegroups.com
Entonces tu problema no es tener el puerto incorrecto.

¿Estás mandando un request HTTP válido? ¿Verificaste que mandás el encabezado Host correcto?


2013/2/7 Gabriel Rodriguez <prologic...@gmail.com>



--
Nacho Facello
:wq

DavidT

unread,
Feb 7, 2013, 11:20:09 AM2/7/13
to rub...@googlegroups.com
Solamente usa la dirección de la app,es decir, usa post directamente sobre http://APP.herokuapp.com/  

geronimo diaz

unread,
Feb 7, 2013, 11:26:21 AM2/7/13
to rub...@googlegroups.com
> --
> Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
> Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a rubysur+u...@googlegroups.com.
> Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
>  
>  


si vas a http://APP.herokuapp.com/ tu app responde algo ? si responde es pq la app esta escuchando en ese puerto y el problema es, como ya mencionaron anteriormente, que estas armando mal el get/post que envias.

Saludos. 


--
Geronimo Diaz
Ruby/RoR Developer

t: @gerondimodiaz
g+: gero...@gmail.com
in: http://ar.linkedin.com/in/geronimod
gh: http://github.com/geronimod

Gabriel Rodriguez

unread,
Feb 7, 2013, 11:27:16 AM2/7/13
to rub...@googlegroups.com, na...@nucleartesuji.com
Estoy mandando un POST en cuyo BODY va el XML , no creo que el encabezado sea el problema, porque como ya comente en la misma APP corriendo en el local host anda perfecto, o sea que la recepción "post" anda.

Aparte el  "heroku logs -t" durante el envio ni se inmuta, no recibe absolutamente nada como si estuviese enviando el POST a cualquier otro lado.

El Error que recibo del lado de la Aplicacion que hace el POST es ERROR 87 "Los datos no fueron recibidos en la WEB"

Gabriel Rodriguez

unread,
Feb 7, 2013, 11:29:26 AM2/7/13
to rub...@googlegroups.com
Lamentablemente no puedo mandar solo la dirección sin el puerto , porque la función que uso desde la APP de origen usa una dll para enviar un POST en la que si o si hay que poner la dirección y el puerto como valor numerico y si le paso puerto=0 tampoco anda.

Nacho Facello

unread,
Feb 7, 2013, 11:40:11 AM2/7/13
to rub...@googlegroups.com
El encabezado JUSTAMENTE puede ser el problema.

OK, a ver. HTTP/1.1 introduce el encabezado Host para poder tener más de un sitio web escuchando en una misma dirección IP. Cuando vos configurás un Apache (o lo que sea) para que sirva varios sitios web eso es lo que hace (a menos que tengas más de una IP en el servidor, cosa que es cada vez menos común). Si vos no mandás el encabezado Host entonces el servidor no sabe a dónde va el request, y puede asumir lo que quiera. Normalmente, lo que hace es tener un sitio por defecto (en Apache, el primero que esté configurado).

En el caso en que lo estás corriendo en localhost no importa porque tenés sólo una aplicación corriendo en ese puerto y no tiene que "repartir" el tráfico basado en host, así que podrías ir a http://localhost:4567/, a http://127.0.0.1:4567/, o a http://cualquiercosaquequieras:4567/ (poniendo eso en el /etc/hosts) y va a funcionar igual, porque ignora el encabezado Host.

Ahora, en el caso de Heroku, Heroku tiene una IP que sirve como "gateway" (bah, más de una, y no es una IP, es un par de aliases a load balancers de Amazon, pero vamos a simplificar). Si vos no le mandás el Host, ese gateway no puede saber a dónde mandar el request, porque no tiene información ninguna. No puede hacer magia tampoco.

En cuanto al puerto, las aplicaciones de Heroku responden en el puerto 80. Como cualquier otro sitio web a menos que lo especifiques. Si vos ponés http://google.com/ eso va al puerto 80, siempre. No hay ninguna magia tampoco ahí: http es puerto 80 a menos que le especifiques lo contrario. Si las apps de Heroku corrieran en otro puerto, tendrías que entrar a http://app.herokuapp.com:puerto/ para poder ver algo. El hecho de que no tengas que hacer eso es evidencia suficiente de que es en el puerto 80.


2013/2/7 Gabriel Rodriguez <prologic...@gmail.com>



--
Nacho Facello
:wq

Gabriel Rodriguez

unread,
Feb 7, 2013, 11:54:58 AM2/7/13
to rub...@googlegroups.com, na...@nucleartesuji.com
YA ESTA RESUELTO !!!

Tenes toda la razón, el puerto correcto es el 80

El problema estaba del lado de la Dirección en la DLL que enviaba el POST , hacia una simplificación medio rara con el string de la dir y andaba bien con el http://localhost pero no con algo como http://app-prueba.herokuaap.com (le sacaba el punto y el gión), en fin una boludez del mismo proceso.

Me vino bien que me aseguraras que era el puerto 80 porque me surgian dudas por ese lado y al ver que no era eso busqué el problema adonde se hacia el POST

Muchas Gracias a todos !!!

Gabriel Rodriguez

unread,
Feb 7, 2013, 11:58:11 AM2/7/13
to rub...@googlegroups.com
Listo, era un error en la direccion de envio al hacer el POST

Gracias. !!


El jueves, 7 de febrero de 2013 13:20:09 UTC-3, DavidT escribió:

Gabriel Rodriguez

unread,
Feb 7, 2013, 11:59:43 AM2/7/13
to rub...@googlegroups.com
Listo, era un error en la direccion de envio al hacer el POST

Gracias. !!

Reply all
Reply to author
Forward
0 new messages