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

Re: gitweb: false base href sent when integrated via reverse proxy and path_info is active

From
Jakub Narebski <jnareb@gmail.com>
Date
Nov 28, 2010, 17:47 UTC
Message-ID
<201011281847.40233.jnareb@gmail.com>
In-Reply-To
<AANLkTinM8qyL9DafMx4XWBQ5RUeWABKVc5mNjdVEkQfZ@mail.gmail.com>
On Sun, 28 Nov 2010, Giuseppe Bilotta wrote:
Show 32 quoted lines
> On Sun, Nov 28, 2010 at 5:27 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:
>> Hi Jakub et al,
>>
>> Daniel Reichelt wrote[1]:
>>
>>> I just noticed that integrating gitweb via reverse proxy is impossible when
>>> path_info is enabled in gitweb.conf. The base href sent on gitweb.cgi:3427
>>> contains the "internal" URL called by the reverse proxy mechanism, not the
>>> original one called by the user agent which makes it impossible for the
>>> client to display CSS, images, etc...
>>>
>>> I suggest an additional config variable, e.g.
>>> $feature{'pathinfo'}{'basehrefoverride'} which could override the base href
>>> tag determinted by the cgi script (or disable sending a base href tag at all
>>> - at least I was able to achieve my desired setup by adjusting the URLs for
>>> CSS etc in gitweb.conf to fitting absolute URLs).
>>
>> Any advice for Daniel?  Is it a good idea?
> 
> I'm not familiar with the way reverse proxies operate. Is there some
> information that the script can scrape to understand that its request
> is being reverse-proxied? Or are there options that the reverse
> proxies can be configured with to pretend that the URL is not being
> rewritten? These would be better solutions.
> 
> Lacking that, a plain
> 
> our $base_url  = 'whatever';
> 
> in the gitweb config should probably work, as the gitweb config is
> evaluated _after_ the internal URI variables are set. Can the bug
> submitter confirm that this does indeed work?
See also gitweb/README, the "Gitweb config file variables" section:
 * $base_url
   Base URL for relative URLs in pages generated by gitweb,
   (e.g. $logo, $favicon, @stylesheets if they are relative URLs),
   needed and used only for URLs with nonempty PATH_INFO via
   <base href="$base_url">.  Usually gitweb sets its value correctly,
                             ^^^^^^^
   and there is no need to set this variable, e.g. to $my_uri or "/".
The key word here is "usually" ;-)
-- 
Jakub Narebski
Poland
Previous: Giuseppe BilottaNext: Jonathan Nieder
Message 3 of 15 in “Re: gitweb: false base href sent when integrated via reverse proxy and path_info is active”
  1. Jonathan NiederNov 28, 2010
  2. Giuseppe BilottaNov 28, 2010
  3. Jakub NarebskiNov 28, 2010
  4. Jonathan NiederNov 28, 2010
  5. Jakub NarebskiNov 30, 2010
  6. Junio C HamanoDec 1, 2010
  7. Daniel ReicheltNov 28, 2010
  8. Jakub NarebskiNov 28, 2010
  9. Daniel ReicheltNov 28, 2010
  10. Jonathan NiederNov 28, 2010
  11. Daniel ReicheltNov 28, 2010
  12. Jakub NarebskiNov 28, 2010
  13. Jonathan NiederNov 29, 2010
  14. Jakub NarebskiNov 29, 2010
  15. Junio C HamanoNov 29, 2010

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.