2011-06-14 12 views
8

Tengo hgweb en funcionamiento en II7 7 (en Windows Server 2008). La interfaz web funciona, y puedo ver, extraer y clonar los repositorios allí. Pero no puedo presionar, hacerlo me da un error 502 justo después de "buscar cambios". Usando --debug muestra las últimas líneas como:Hgweb "Push" en IIS que devuelve 502 (puerta de acceso incorrecta)

sending unbundle command 
sending 622 bytes 
HTTP Error: 502 (Bad Gateway) 

que estoy usando TortoiseHG para empujar, pero el resultado es el mismo cuando se utiliza la línea de comandos mercurial.

He seguido el tutorial aquí: http://www.sjmdev.com/blog/post/2011/03/30/setting-mercurial-18-server-iis7-windows-server-2008-r2.aspx para configurar hgweb.

+0

¿Qué ves en los registros de errores del servidor? – Rudi

+0

¿Puede presionar a su repositorio cuando usa el servidor integrado ('hg serve [--debug]')? – Rudi

+0

¡Hola, Rudi! Puedo presionar usando 'hg serve' muy bien. Sin embargo, no puedo obtener ningún registro de hgweb, pero los registros de IIS parecen bastante normales. La última línea recibida en el servidor es una línea "cmd = unbundle" – Jason

Respuesta

0

Eche un vistazo a la configuración 'Push_ssl' en su archivo hgweb.config.

Me estaba dando el mismo error (tenía el mío establecido en '*'), y pude resolverlo quitando la línea por completo. Por supuesto, esto hace que Mercurial sea menos seguro, pero me permite resolver el problema de la configuración (por ahora) mientras investigo la configuración correcta de SSL en el servidor.

También puede tener que revisar la configuración 'Permitir_push' para evitar más errores (o echar un vistazo a su autorización).

NOTA: Al menos en mi caso, tener 'push_ssl = false' no fue suficiente ya que resultó en más errores (la autorización falló).

(De nuevo, esto no es más que una solución temporal hasta que el servidor se puede asegurar adecuadamente.)

3

parece una vieja pregunta, pero alguien está obligado a venir a través de ella de nuevo. Estuve cerca de dibujar un círculo negro en una pared y ... de todos modos, el problema para nosotros fue la forma en que se creó el repositorio central. Lo clonamos desde BitBucket mientras estábamos conectados remotamente a la máquina como administrador local.

El problema estaba en la carpeta [Repository] .hg. Debes establecer los permisos correctos en él. Pruébelo agregando Todos -> Permisos completos para fines de prueba. Por favor, asegúrese de cambiar esto a un inicio de sesión de red dedicado o una cuenta local apropiada después.

Estaba viendo exactamente el mismo comportamiento - incluso el push funcionó bien, con la excepción de obtener una mala puerta de enlace después de todo el tiempo. Después de establecer los permisos correctos, el problema desapareció.

Pensando en ello ahora, probablemente la mejor solución es agregar cada inicio de sesión de red que utiliza el repositorio a los usuarios de la máquina y luego configurar los permisos de acceso a la carpeta .hg a los usuarios locales.

Espero que ayude a alguien.

0

Podría ocurrir por diferentes razones, para obtener más detalles acerca de la carrera de error

hg push --config ui.usehttp2 = true --config ui.http2debuglevel = información

Por ejemplo, problema puede ocurre por un servidor proxy o simplemente en el caso de que el Servidor Web Mercurial "se olvide" de los repositorios que necesita para servir: en caso de que esté utilizando el entorno de trabajo TortoiseHg vaya a la interfaz de usuario de Workbench, Repositorio -> Iniciar servidor web, asegúrese de que su repositorio en la lista de repositorios servidos.

0

Intente utilizar https en lugar de http en .hg/hgrc, he resuelto este problema para code.google.com.

Cuestiones relacionadas