Visualiser une révision

Haproxy - redirection de domaine

voxdemonix : révision n°3 (09 août 2019 15:55:10)

Introduction
===========

Quand HaProxy fait une redirection, il n'y a pas de communication avec les serveurs derrière le _backend_. Tout est entièrement géré par le _frontend_.

Si le client requière via https, le certificat https doit être signé. S'il ne l'est pas le navigateur web va stopper et émettre une alerte de sécurité et ce avant d'avoir reçu le code http signalant la redirection. Pas très fun pour vos utilisateurs.

Exemple
===========

Peut être inséré dans les section backend ou frontend au choix.

```
	# redirection de www.hello.com et www.world.com vers https://www.helloworld.com
acl redirect_domain1 hdr(host) -i www.hello.com
acl redirect_domain2 hdr(host) -i www.world.com
http-request redirect code 301 prefix https:\/\www.helloworld.com if redirect_domain1 or redirect_domain2
```

Rappel des codes HTTP :
===========

```
CODE 		~~~~~ INFOS ~~~~~

301 		Redirection permanente

302 		Redirection temporaire; ne devrait pas être enregistrée en cache par les clients. C'est la valeur par défaut si aucun code http n'est précisé.

303 		Similaire à 302, mais le navigateur devrait récupérer la nouvelle location via une requête GET.

307 		Similaire à 302, mais le navigateur doit ré-utiliser la même méthode qu'à la première requête originale.

308 		Similaire à 301, mais le navigateur doit ré-utiliser la même méthode qu'à la première requête originale. 
```

Farm Link
=========

- [HaProxy Documentation - Redirecting HTTP Requests](https://www.haproxy.com/documentation/aloha/10-0/traffic-management/lb-layer7/http-redirection/)
- [HaProxy Documentation - Writing Conditions](https://www.haproxy.com/documentation/aloha/10-0/traffic-management/lb-layer7/writing-conditions/)