Mettre en place une redirection SSL HA Proxy

De Ikoula Wiki
Jump to navigation Jump to search

fr:Mettre en place une redirection SSL HA Proxy ro:Dezvolta si implementa un redirect SSL HA Proxy ru:Разработать и осуществить перенаправление га SSL прокси pl:Opracowanie i wdrożenie przekierowanie serwera Proxy protokołu SSL HA ja:開発し、SSL HA プロキシにリダイレクトを実装 ar:تطوير وتنفيذ إعادة توجيه SSL ها الوكيل zh:制定和执行医管局 SSL 代理重定向 de:Entwickeln Sie und implementieren Sie eine Umleitung SSL HA Proxy nl:Ontwikkelen en implementeren van een redirect SSL HA Proxy it:Sviluppare e implementare un reindirizzamento Proxy SSL HA pt:Desenvolver e implementar um redirecionamento Proxy SSL HA es:Desarrollar e implementar una redirección Proxy SSL HA en:Develop and implement a redirect SSL HA Proxy he:לפתח וליישם הפניה פרוקסי SSL חה

Introduction

Vous souhaitez configurer le SSL Forwarding sur votre HA Proxy. Cet article vous expliquera la démarche à suivre au travers d'un exemple de configuration.
Cet article fait suite à la documentation Configurer un HA Proxy sur Cloudstack.

Mise en place

Voici la procédure à suivre afin de mettre en place le SSL Forwarding sous HAProxy.
Vous trouverez ci-dessous des exemples de différentes configurations. En effet il est possible de mettre en place la gestion du SSL à différents niveaux, par exemple sur le load-balancer ou directement sur le serveur web.

SSL Termination

Cette première méthode permet de gérer l'établissement de la connexion HTTPS au niveau du load-balancer, l'un des avantages de cette solution est le gain de performances.
En effet l'établissement d'une connexion SSL au niveau du load-balancer permet d'enlever le poids de l'opération des serveurs web, une fois la connexion établie et sécurisée le load-balancer transmet cette connexion au serveur web.

Voici un exemple de configuration pour SSL Termination
frontend https_frontend
  bind *:443 ssl crt /etc/ssl/certs/mon-certificat.pem
  mode http
  option httpclose
  option forwardfor
  reqadd X-Forwarded-Proto:\ https
  default_backend web_server

backend web_server
  mode http
  balance roundrobin
  cookie SRVNAME insert indirect nocache
  server web1 yyy.yyy.yyy.yyy:80 cookie WeB1 check
  server web2 zzz.zzz.zzz.zzz:80 cookie WeB2 check

SSL PassThrough

Une deuxième méthode permet de laisser les serveurs web gérer l'établissement de la connexion SSL. Cette opération rend "transparente" le passage de la connexion sécurisée par le load-balancer.

Voici un exemple de configuration pour SSL PassThrough
frontend https_frontend
  bind *:443
  mode tcp
  default_backend web_server

backend web_server
  mode tcp
  balance roundrobin
  cookie SRVNAME insert indirect nocache
  server web1 yyy.yyy.yyy.yyy:443 cookie WeB1 check
  server web2 zzz.zzz.zzz.zzz:443 cookie WeB2 check

SSL PassThrough avec Persistance IP

Voici un exemple de configuration, permettant à l'utilisateur de conserver sa connexion sur l'un des serveurs back-end lors du passage HTTP vers HTTPS, par exemple sur un site marchand avec zone de paiement sécurisée.

frontend ft_http
    bind :80
    mode http
    default_backend bk_http

frontend ft_https
    bind :443
    mode tcp
    default_backend bk_https

backend bk_http
    mode http
    balance roundrobin
    stick on src table bk_https
    default-server inter 1s
    server web1 xxx.xxx.xxx.xxx:80 check id 1
    server web2 yyy.yyy.yyy.yyy:80 check id 2

backend bk_https
    mode tcp
    balance roundrobin
    stick-table type ip size 1m expire 1h
    stick on src
    default-server inter 1s
    server web1 xxx.xxx.xxx.xxx:80 check id 1
    server web2 yyy.yyy.yyy.yyy:80 check id 2



Vous n'êtes pas autorisé à publier de commentaire.