Hgweb "Push" в IIS возвращая 502 (плохой шлюз) - PullRequest
9 голосов
/ 15 июня 2011

У меня есть hgweb и работает на II7 7 (на Windows Server 2008). Веб-интерфейс работает, и я могу просматривать, извлекать и клонировать репозитории там. Но я не могу подтолкнуть, это дает мне ошибку 502 сразу после «поиска изменений». Использование --debug показывает последние несколько строк как:

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

Я использую TortoiseHG для push, но результат такой же, как при использовании командной строки mercurial.

Я следовал этому уроку здесь: http://www.sjmdev.com/blog/post/2011/03/30/setting-mercurial-18-server-iis7-windows-server-2008-r2.aspx для настройки hgweb.

Ответы [ 6 ]

3 голосов
/ 06 июня 2012

Похоже на старый вопрос, но кто-то обязательно столкнется с ним снова.Я был близок к тому, чтобы нарисовать черный круг на стене, и ... в любом случае, проблема для нас заключалась в том, как было создано центральное хранилище.Мы клонировали его из BitBucket, будучи удаленно подключенным к машине в качестве локального администратора.

Проблема была в папке [Repository] .hg.Вы должны установить правильные разрешения на это.Попробуйте добавить «Все» -> «Полные разрешения» для целей тестирования.Пожалуйста, убедитесь, что вы изменили это на выделенный сетевой логин или соответствующую локальную учетную запись впоследствии.

Я наблюдал точно такое же поведение - даже push работал нормально, за исключением того, что все время получал Bad Gateway.После того, как были установлены правильные разрешения, проблема исчезла.

Подумав об этом сейчас, вероятно, лучшее решение - добавить каждый сетевой логин, который использует репо, для пользователей компьютеров, а затем настроить права доступа к папке .hg для локальногопользователи.

Надеюсь, это кому-нибудь поможет.

0 голосов
/ 26 марта 2018

У меня была эта проблема, и проблема закончилась тем, что серверу не хватило места на диске.

0 голосов
/ 01 апреля 2015

Попробуйте использовать https вместо http в .hg / hgrc, я решил эту проблему для code.google.com.

0 голосов
/ 28 марта 2014

Это может произойти по разным причинам, чтобы получить более подробную информацию об ошибке, запустите

hg push --config ui.usehttp2 = true --config ui.http2debuglevel = info

Напримерпроблема может возникать из-за прокси-сервера или из-за того, что веб-сервер Mercurial «забывает» о репозиториях, которые он должен обслуживать: если вы используете рабочее место TortoiseHg, перейдите в пользовательский интерфейс Workbench, Repository -> Start Web Server, убедитесь, чтоВаш репозиторий находится в списке обслуживаемых репозиториев.

0 голосов
/ 11 января 2012

Посмотрите на настройку Push_ssl в вашем файле hgweb.config.

Я получаю ту же ошибку (моя была установлена ​​на '*'), и я смог ее устранить, полностью удалив строку. Конечно, это делает Mercurial несколько менее безопасным, но позволяет мне разобраться с проблемой конфигурации (пока), пока я исследую правильную настройку SSL на сервере.

Возможно, вам также придется пересмотреть параметр «Allow_push», чтобы избежать дальнейших ошибок (или еще раз взглянуть на свое разрешение).

ПРИМЕЧАНИЕ. По крайней мере, в моем случае было недостаточно иметь push_ssl = false, поскольку это приводило к дальнейшим ошибкам (авторизация не удалась).

(Опять же, это просто временное решение, пока сервер не будет должным образом защищен.)

0 голосов
/ 11 августа 2011

Попробуйте использовать метод модуля ISAPI вместо CGI, который выполняет phython.exe , как описано здесь .Здесь также есть еще один связанный и, возможно, дублирующий вопрос .

...