[Koha-bugs] [Bug 11575] OPACBaseURL sometimes set by ENV variable and not system preference

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Wed Jul 9 01:38:46 CEST 2014


http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=11575

--- Comment #16 from David Cook <dcook at prosentient.com.au> ---
(In reply to Tomás Cohen Arazi from comment #14)
> Are we introducing problems for Plack?

I don't think so. Rather, we're highlighting an existing problem that Marcel
noted in bug 8952. (Marcel added the FIXME in bug 8952 and I'm just copying it
over to some relevant areas.)

I imagine that most people are using proxies in front of Plack so this might be
relevant for fixing this issue:
https://github.com/plack/Plack/wiki/How-to-detect-reverse-proxy-and-SSL-frontend

Plack::Middleware::ReverseProxy seems to just reset environmental variables
depending on the headers it gets from the reverse proxy (so long as they're
configured).

http://cpansearch.perl.org/src/MIYAGAWA/Plack-Middleware-ReverseProxy-0.15/lib/Plack/Middleware/ReverseProxy.pm

I suppose another alternative might be just to set the environmental variable
explicitly in the vhost (if you're using Apache) or whatever else you need to
with another proxy.

This may or may not be relevant: 

http://httpd.apache.org/docs/2.2/mod/mod_ssl.html

We don't use Apache for our proxy server, so I'm not really sure, but this info
might give other people (who are using Plack and a front end proxy) some ideas.

I haven't played with Plack yet but I've done a fair bit of reading.

By the way, here is the CGI->https() method from 5.16:

#### Method: https
# Return the value of HTTPS, or
# the value of an HTTPS variable, or
# the list of variables
####
'https' => <<'END_OF_FUNC',
sub https {
    my ($self,$parameter) = self_or_CGI(@_);
    if ( defined($parameter) ) {
        $parameter =~ tr/-a-z/_A-Z/;
        if ( $parameter =~ /^HTTPS(?:_|$)/ ) {
            return $ENV{$parameter};
        }
        return $ENV{"HTTPS_$parameter"};
    }
    return wantarray
        ? grep { /^HTTPS(?:_|$)/ } keys %ENV
        : $ENV{'HTTPS'};
}
END_OF_FUNC

It looks like it's just looking for a HTTPS environmental variable, which
Plack::Middleware::ReverseProxy can provide. Otherwise, I suppose it depends on
how you've configured Plack?

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list