Re: problème avec l'utilisation de SPIP d errière un proxy

Cédric Morin <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <[email protected]>
Hello,

j'ai envoyé sur la branche dev un patch qui intègre la prise en compte 
de ces entêtes conventionnels
http://core.spip.org/projects/spip/repository/revisions/23093

si cela va a tout le monde on peut le reporter en branche stable 3.1 
voire 3.0.

-- 
Cédric



Cédric Morin a écrit :
> Non il ne s'agirait pas de forcer https, mais d'activer la prise en
> compte des headers HTTP_X_FORWARDED_PORT HTTP_X_FORWARDED_PROTO
>
> Cette partie du code n'est pas nickel dans url_de_base(), et est à revoir.
> Aujourd'hui on tourne avec un Apache en proxy pour https (on fait donc
> Apache:443 > Varnish > Apache:80), sans modification de SPIP, mais avec
> les quelques lignes suivants en prepend php. Cela peut s'appliquer à
> n'importe quel proxy frontal, les headers étant conventionnels :
>
> if (isset($_SERVER['HTTP_X_FORWARDED_PORT'])
> AND $_SERVER['HTTP_X_FORWARDED_PORT']==='443'
> AND isset($_SERVER['HTTP_X_FORWARDED_PROTO'])
> AND $_SERVER['HTTP_X_FORWARDED_PROTO']==='https') {
> $_SERVER['HTTPS'] = 'on';
> $_SERVER['SERVER_PORT'] = '443';
> if (isset($_SERVER['REQUEST_SCHEME'])) {
> $_SERVER['REQUEST_SCHEME'] = 'https';
> }
> if ($_SERVER['REMOTE_ADDR'] == '127.0.0.1') {
> $i = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
> $i = reset($i);
> $_SERVER['REMOTE_ADDR'] = $i;
> }
> if (strpos($_SERVER['HTTP_X_FORWARDED_HOST'],',')!==false){
> $h = explode(',',$_SERVER['HTTP_X_FORWARDED_HOST']);
> $_SERVER['HTTP_X_FORWARDED_HOST'] = trim(end($h));
> }
> }
>
> Notez au passage que je découpe les HTTP_X_FORWARDED_FOR
> HTTP_X_FORWARDED_HOST pour le cas où on aurait du double proxy (j'ai eu
> le cas sur un site transféré d'un autre serveur que j'ai mis en proxy le
> temps de la propagation DNS, du coup on avait empilement des en-têtes
> avec 2 IP et 2 hosts dans les headers).
>
> Le problème d'appliquer cela par défaut c'est de risquer de l'injection
> de headers. Il faut verifier avec precaution si cela peut empoisonner le
> cache d'un visiteur normal, ou peut-être il faut ajouter les 2 headers
> en signature du cache. Ou n'activer cela que via une configiration ou
> define ?
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.