git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail.com>
To: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Cc: Jonathan Nieder <jrnieder@gmail.com>,
	git@vger.kernel.org, Daniel Reichelt <debian@nachtgeist.net>
Subject: Re: gitweb: false base href sent when integrated via reverse proxy and path_info is active
Date: Sun, 28 Nov 2010 18:47:38 +0100	[thread overview]
Message-ID: <201011281847.40233.jnareb@gmail.com> (raw)
In-Reply-To: <AANLkTinM8qyL9DafMx4XWBQ5RUeWABKVc5mNjdVEkQfZ@mail.gmail.com>

On Sun, 28 Nov 2010, Giuseppe Bilotta wrote:
> 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

  reply	other threads:[~2010-11-28 17:53 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20101128081048.13668.67286.reportbug@sb74.startrek>
2010-11-28 16:27 ` gitweb: false base href sent when integrated via reverse proxy and path_info is active Jonathan Nieder
2010-11-28 17:25   ` Giuseppe Bilotta
2010-11-28 17:47     ` Jakub Narebski [this message]
2010-11-28 18:12       ` Jonathan Nieder
2010-11-30 18:22         ` Jakub Narebski
2010-12-01  3:25           ` Junio C Hamano
2010-11-28 20:30       ` Daniel Reichelt
2010-11-28 21:07         ` Jakub Narebski
2010-11-28 21:25           ` Daniel Reichelt
2010-11-28 21:10         ` Jonathan Nieder
2010-11-28 21:28           ` Daniel Reichelt
2010-11-28 22:05           ` Jakub Narebski
2010-11-29  0:19             ` [PATCH/RFC] gitweb: Preserve $base_url if it was set Jonathan Nieder
2010-11-29  0:51               ` [PATCH/RFC] gitweb/README: About $base_url etc. and $per_request_config Jakub Narebski
2010-11-29 17:57               ` [PATCH/RFC] gitweb: Preserve $base_url if it was set Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201011281847.40233.jnareb@gmail.com \
    --to=jnareb@gmail.com \
    --cc=debian@nachtgeist.net \
    --cc=git@vger.kernel.org \
    --cc=giuseppe.bilotta@gmail.com \
    --cc=jrnieder@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).