<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>Bonjour,</p>
<br>
<div class="moz-cite-prefix">On 08/02/17 11:22, TISSOT Jacques
wrote:<br>
</div>
<blockquote
cite="mid:72e6e3b4dd4141108869cbddfb702098@svw-exmb1.unifr.ch"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal">Bonjour la communauté,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">J’ai mis en place un cluster apache de
test, 3 nœuds (un frontend et deux real servers).
<o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">Load balancing LVS-DR
avec ipvsadm<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Monitoring avec
ldirectord<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Server web: apache<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal">Tout fonctionne bien en http et en https si
on les attaque directement. Mais comment gérer une REDIRECTION
vers https via cette infrastructure ?<o:p></o:p></p>
<p class="MsoNormal">LVS est en couche 4 et apache est en couche
7, donc, si je comprends bien, pas moyen de gérer la
redirection par un Redirect ou un Rewrite dans la config
d’apache du nœud frontend ?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Alors comment faire ?<o:p></o:p></p>
</div>
</blockquote>
<br>
Je configurerais la redirection dans (les N instances de) Apache:<br>
<br>
<VirtualHost *:80><br>
ServerName <a class="moz-txt-link-freetext" href="http://www.example.org">http://www.example.org</a><br>
ServerAlias example<br>
# Redirect to SSL<br>
RewriteEngine On<br>
RewriteRule ^$ <a class="moz-txt-link-freetext" href="https://www.example.org/">https://www.example.org/</a> [L,R=301]<br>
RewriteRule ^/(.*)$ <a class="moz-txt-link-freetext" href="https://www.example.org/$1">https://www.example.org/$1</a> [L,R=301]<br>
</VirtualHost><br>
<br>
<VirtualHost *:443><br>
ServerName <a class="moz-txt-link-freetext" href="https://www.example.org">https://www.example.org</a><br>
[...]<br>
</VirtualHost><br>
<br>
Tout ce passera de manière transparente au niveau de LVS/ipvsadm
(qui effectivement n'a aucun moyen de regard au niveau 7).<br>
<br>
Par contre, il faut impérativement travailler en mode "sh" (Source
Hashing) ou les sessions SSL/TLS seront invalides d'une connection
HTTP(S) à une autre; dans ldirectord.cf:<br>
<br>
# WWW (fwm=8080)<br>
virtual=8080<br>
protocol=fwm<br>
scheduler=sh<br>
checkport=80<br>
[...]<br>
<br>
L'astuce supplémentaire consiste à utiliser les "firewall marks"
afin de gérer de manière identique les connections 80 et 443 (par
exemple pour maintenir les sessions PHP en passant de HTTP à HTTPS);
dans iptables:<br>
<br>
# Mark = 8080<br>
"${IPTABLES}" --table mangle --append PREROUTING --destination
<virtual-ip>/32 --protocol tcp --dport 80 --jump MARK
--set-mark 8080<br>
"${IPTABLES}" --table mangle --append PREROUTING --destination
<virtual-ip>/32 --protocol tcp --dport 443 --jump MARK
--set-mark 8080<br>
<br>
Bons tests,<br>
<br>
Cédric Dufour<br>
<br>
<blockquote
cite="mid:72e6e3b4dd4141108869cbddfb702098@svw-exmb1.unifr.ch"
type="cite">
<div class="WordSection1">
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">J’ai bien sûr fouillé Internet, mais sans
grand résultat.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Merci pour vos expertises et vos avis <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Jacques Tissot<o:p></o:p></p>
<p class="MsoNormal">Unifr.ch<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
gull mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gull@forum.linux-gull.ch">gull@forum.linux-gull.ch</a>
<a class="moz-txt-link-freetext" href="http://forum.linux-gull.ch/mailman/listinfo/gull">http://forum.linux-gull.ch/mailman/listinfo/gull</a></pre>
</blockquote>
<br>
</body>
</html>