e lundi 26 novembre 2012 à 09:05 +0100, André Warnier a écrit :
> Vincent Veyron wrote:
> > Le samedi 24 novembre 2012 à 16:58 +0100, André Warnier a écrit :
> > 
> >> Is there somewhere a "is_secure()" or something which provides that ?
> >> Or can I rely on the presence/absence of some request header ?
> >>
> > 
> > 
> > Apache's mod_rewrite has the HTTPS RewriteCond directive, which I use to
> > enforce https access on a site like so:
> > 
> >  RewriteCond %{HTTPS} off
> > 
> >  RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
> > 
> > May be you can use this to mark the request somehow?
> > 
> 
> My problem is slightly different : I don't need to "enforce" HTTPS on the 
> requests which I 
> proxy; I need to determine if the incoming request was made via HTTPS.
> 
> But your tip above actually pointed to something which may be of use to me : 
> in
> 
> http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritecond
> 
> there is apparently a "server variable" HTTPS which can be tested in a 
> RewriteCond, and 
> which looks just like what I need :
> 
> HTTPS

Well, that's precisely what I was pointing at.


>      Will contain the text "on" if the connection is using SSL/TLS, or "off" 
> otherwise. 
> (This variable can be safely used regardless of whether or not mod_ssl is 
> loaded).
> 
> Now I just have to find out how I can actually access such a "server 
> variable" inside a 
> mod_perl handler.  But that should be a breeze, considering the nice online 
> mod_perl 
> documentation, right ?

You don't need to. Just write something like :

 RewriteCond %{HTTPS} off

 RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}?ssl=off
 
and parse the query string in your handler for the ssl parameter with
$req->param


> Let's see if I can beat Torsten to it..
> 
> 
> 

-- 
Vincent Veyron
http://marica.fr/
Logiciel de gestion des assurances sinistres et des dossiers contentieux pour 
le service juridique

Reply via email to