git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Please document git-http-backend/Apache timeout interactions

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 21, 2016, 23:29 UTC
Message-ID
<xmqqwppx8wwb.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<20160221221744.GA38068@sesse.net>
"Steinar H. Gunderson" <sgunderson@bigfoot.com> writes:
Show 13 quoted lines
> I am running git-http-backend behind Apache as suggested in
> git-http-backend(1). However, what it fails to mention is that
> git-fetch-pack seemingly can be very slow in sending its request.
> Consequently, mod_reqtimeout (on by default, as I understand it)
> kicks in as an anti-DoS measure, and the user sees a 408 (timeout)
> error.
>
> Seemingly the simplest fix is to turn off mod_reqtimeout in the vhost
> serving git (potentially with some <IfModule> around it):
>
>    RequestReadTimeout header=0 body=0
>
> Would you consider adding this to the documentation?

This feels 70% like "how to configure your Apache server when you run site that is contacted by a client that is slow to talk?", that is not necessarily specific to Git.

Also while it may make sense to tweak the timeout on the server side, recommending to disable it altogether, instead of adjusting to the typical requirement for a sane client, feels just wrong.

Also, are all requests from one client slow to start, or are only some phases in the protocol exchange slow but not others? If the server side can tell which ones could be normally slow, selectively loosening timeouts only for them might be more palatable, but I am sensing that you are not suggesting such an approach.

For these reasons, I am on the fence.
Previous: Steinar H. GundersonNext: Steinar H. Gunderson
Message 2 of 3 in “Please document git-http-backend/Apache timeout interactions”
  1. Steinar H. GundersonFeb 21, 2016
  2. Junio C HamanoFeb 21, 2016
  3. Steinar H. GundersonFeb 21, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.