Вернул, получаетÑÑ Ð²Ð¾Ñ‚ так (ошибка оÑталаÑÑŒ): <div><a href="http://ftp.dzhon.in/nginx_pass_Server">http://ftp.dzhon.in/nginx_pass_Server</a> </div><div>P.S. ПользуÑÑÑŒ Ñлучаем, очень благодарен вам за активную помощь!<br><br>
<div class="gmail_quote">2012/1/25 Ruslan Ermilov <span dir="ltr"><<a href="mailto:ru@nginx.com">ru@nginx.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Wed, Jan 25, 2012 at 01:47:04PM +0400, Eugene Mamin wrote:<br>
> Да, попробовал телнетом поÑтучать прÑмо на hg serve, получил ту же 500-ую<br>
> от меркуриала :)<br>
><br>
> Ð’ конфигурации задал Ñледующие директивы, чтобы макÑимально приблизить<br>
> заголовки:<br>
> proxy_http_version 1.1;<br>
> proxy_set_header Host $host;<br>
><br>
> Теперь имеем такие данные (логи tcpdump):<br>
> <a href="http://ftp.dzhon.in/nginx_" target="_blank">http://ftp.dzhon.in/nginx_</a> -- Ð·Ð°Ð¿Ñ€Ð¾Ñ hg pull через nginx<br>
> <a href="http://ftp.dzhon.in/hg__" target="_blank">http://ftp.dzhon.in/hg__</a> -- Ð·Ð°Ð¿Ñ€Ð¾Ñ hg pull напрÑмую к hg serve.<br>
<br>
</div>Разница такаÑ:<br>
<br>
: --- hg_ Â Â Â 2012-01-25 14:06:36.000000000 +0400<br>
: +++ nginx_ Â Â 2012-01-25 14:07:02.000000000 +0400<br>
: @@ -1,41 +1,27 @@<br>
: Â GET /concorde?cmd=capabilities HTTP/1.1<br>
: Â Accept-Encoding: identity<br>
: -host: <a href="http://hg.dzhon.in:7777" target="_blank">hg.dzhon.in:7777</a><br>
: +host: <a href="http://hg.dzhon.in" target="_blank">hg.dzhon.in</a><br>
: Â accept: application/mercurial-0.1<br>
: Â user-agent: mercurial/proto-1.0<br>
<br>
: Â HTTP/1.1 200 Script output follows<br>
: -Server: BaseHTTP/0.3 Python/2.7.2<br>
: -Date: Wed, 25 Jan 2012 09:35:20 GMT<br>
: +Server: nginx/1.1.12<br>
: +Date: Wed, 25 Jan 2012 09:34:44 GMT<br>
: Â Content-Type: application/mercurial-0.1<br>
: Â Content-Length: 130<br>
: +Connection: keep-alive<br>
: Â lookup changegroupsubset branchmap pushkey known getbundle unbundlehash batch stream unbundle=HG10GZ,HG10BZ,HG10UN httpheader=1024<br>
<br>
: Â GET /concorde?cmd=batch HTTP/1.1<br>
: Â Accept-Encoding: identity<br>
: -x-hgarg-1: cmds=heads+%3Bknown+nodes%3D0b75949a12b936df4c501b0b890211f29662e048<br>
: -host: <a href="http://hg.dzhon.in:7777" target="_blank">hg.dzhon.in:7777</a><br>
: +host: <a href="http://hg.dzhon.in" target="_blank">hg.dzhon.in</a><br>
<div class="im">: Â vary: X-HgArg-1<br>
: Â accept: application/mercurial-0.1<br>
: Â user-agent: mercurial/proto-1.0<br>
<br>
</div>: -HTTP/1.1 200 Script output follows<br>
: -Server: BaseHTTP/0.3 Python/2.7.2<br>
: -Date: Wed, 25 Jan 2012 09:35:21 GMT<br>
: -Content-Type: application/mercurial-0.1<br>
: -Content-Length: 43<br>
: -0b75949a12b936df4c501b0b890211f29662e048<br>
: -<br>
: -GET /concorde?cmd=listkeys HTTP/1.1<br>
: -Accept-Encoding: identity<br>
: -x-hgarg-1: namespace=bookmarks<br>
: -host: <a href="http://hg.dzhon.in:7777" target="_blank">hg.dzhon.in:7777</a><br>
: -vary: X-HgArg-1<br>
: -accept: application/mercurial-0.1<br>
: -user-agent: mercurial/proto-1.0<br>
: -<br>
: -HTTP/1.1 200 Script output follows<br>
: -Server: BaseHTTP/0.3 Python/2.7.2<br>
: -Date: Wed, 25 Jan 2012 09:35:21 GMT<br>
: -Content-Type: application/mercurial-0.1<br>
: -Connection: close<br>
: +HTTP/1.1 500 Internal Server Error<br>
: +Server: nginx/1.1.12<br>
: +Date: Wed, 25 Jan 2012 09:34:44 GMT<br>
: +Transfer-Encoding: chunked<br>
: +Connection: keep-alive<br>
: +Internal Server Error<br>
<br>
Т.е. первый Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð¾Ñ‚Ð»Ð¸Ñ‡Ð°ÐµÑ‚ÑÑ Ñлегка по значению Host,<br>
а ответ -- по значению Server и Connection: keepalive.<br>
Рвот уже второй Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð¿Ñ€Ð¸Ñ…Ð¾Ð´Ð¸Ñ‚ от клиента без<br>
требуемого по протоколу заголовка x-hgarg-1.<br>
Давайте попробуем вернуть оригинальное значение заголовка<br>
Server, вдруг и вправду Windows-клиент на него Ñмотрит<br>
зачем-то:<br>
<br>
    proxy_pass_header Server;<br>
<div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></div></div></blockquote></div><br></div>