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, 21:07 UTC
Message-ID
<201011282207.03261.jnareb@gmail.com>
In-Reply-To
<4CF2BBEE.2050808@nachtgeist.net>
On Sun, 28 Nov 2010, Daniel Reichelt wrote:
Show 7 quoted lines
>>> Lacking that, a plain
>>>
>>> our $base_url  = 'whatever';
>>>
>>> in the gitweb config should probably work
> 
> Nope again, I'm afraid it doesn't (see further down)
Strange, it works for me (see below). 
 
Show 23 quoted lines
>> 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" ;-)
>> 
> 
> *oops* thank you all for the hint! I totally missed that.
> 
> However, I just tried that and it failed. $base_url gets ignored in
> gitweb.conf and even setting $my_url and $my_uri in gitweb.conf seems to
> have no effect at all. For testing purposes I printed the relevant
> variables to the html header:
> 
> 
> gitweb.conf:
> ************

The default name of gitweb config file is gitweb_config.perl, not gitweb.conf. Are you sure you are picking correct config file?

> our $feature{'pathinfo'}{'default'} = [1];
> our $base_url = "https://foobar";
> our $my_url = "https://foo";
> our $my_uri = "https://bar";
Try adding
  our $site_name = "foo";
to check if you are picking correct config file.
Show 10 quoted lines
> - git summary of repo "test1"
> public url: https://sb74/projects/gitweb/test1/summary
> revProxy url: https://localhost:446/projects/gitweb/test1/summary
> ************
> <head>
> <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8"/>
> <meta name="generator" content="gitweb/1.7.2.3 git/1.7.2.3"/>
> <meta name="robots" content="index, nofollow"/>
> <title>localhost Git - test1/summary</title>
> <base href="https://sb74:446/projects/gitweb" />
[...]
> </head>
I get the following when running with config file that contains:
  our $version = "current";
  [...]
  our $site_name = "[localhost]";
  [...]
  our $base_url = "https://localhost/gitweb/";
$ gitweb-run.sh "" "/git.git"
  [...]
  <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
  <meta name="generator" content="gitweb/current git/1.7.3.2.171.g8ccd7"/>
  <meta name="robots" content="index, nofollow"/>
  <title>[localhost] - git.git/summary</title>
  <base href="https://localhost/gitweb/" />
  [...]
So it works for me.
-- 
Jakub Narebski
Poland
Previous: Daniel ReicheltNext: Daniel Reichelt
Message 8 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.