2011-09-20 10 views
5

Estoy ejecutando "cabal install & & yesod devel" usando yesod 0.9.2.2 pero solo está escuchando usando ipv6. ¿Alguien sabe cómo configurarlo para escuchar en ipv4 también? Estoy corriendo en Windows 7.Servidor de desarrollo Yesod solo escuchando en ipv6

Gracias

+0

¿Has intentado simplemente navegar a '' localhost''? He usado '' yesod devel'' muchas veces y simplemente funcionó, y no hay nada especial en mi computadora. –

+1

Bueno, eso funciona si solo estoy en el host local, pero nuestra red aquí no tiene ipv6 activado, por lo que las computadoras remotas no pueden navegar a mi sitio. En cuanto a netstat, puedo ver que solo está escuchando en mi dirección ipv6 y no en ipv4 – Caleb

+0

@Caleb: el servidor de desarrollo está diseñado para ser utilizado localmente. ¿Ha comprobado si esto también sucede con el servidor de producción? (Do 'cabal configure -fproduction'). – hammar

Respuesta

2

El síntoma que describe hasta ahora se han observado en BSD y Debian, pero parece que Windows también se ve afectada.

Es un problema conocido con Yesod, o en realidad con Wasp o, para ser precisos, con la biblioteca de red. Un lugar para realizar un seguimiento de este problema es this githup issue o current discussion on haskell-lists, que fue en parte causado por su pregunta.

+0

Gracias, los estaré vigilando. – Caleb

0

Si bien actualmente no tengo una configuración similar para probar esto, probablemente encontrará que si algo está escuchando el puerto X de IPv6, y no hay nada escuchando en el mismo puerto X para IPv4, entonces el puerto IPv6 recibir la conexión El servidor IPv6 verá una conexión proveniente de la dirección "IPv6" :: ffff: 1.2.3.4 (esto se llama una dirección IPv6 asignada por IPv4). El núcleo proporciona la traducción entre los puntos finales IPv6 e IPv4. IPv4 se usa a través del cable.

No sé acerca de Windows 7, pero algunos sistemas (por ejemplo. algunas distribuciones de Linux) de forma predeterminada desactivar esta función mediante el establecimiento de un sysctl en particular, lo que significaría que el servidor tendría que unirse a IPv4 separada y enchufes IPv6 (que es, en mi experiencia, la opción preferible). Las aplicaciones son libres de anular este comportamiento predeterminado.