19
0
Fork 0

Infos sur le protocol PROXY

This commit is contained in:
Jérémy Lecour 2023-01-17 09:54:42 +01:00 committed by Jérémy Lecour
parent 4cae9f5558
commit 5d23cfce65
2 changed files with 55 additions and 0 deletions

View File

@ -365,6 +365,30 @@ Le premier bloc contient deux lignes dont la première définit une règle « tr
Le second bloc contient quant à lui deux lignes dont la première définit une règle « track-sc1 » qui se base sur la table du backend « per_ip_and_url_rates » en omettant toute les requêtes vers certains types de fichiers (CSS, JS…). La seconde ligne indique ensuite de renvoyer un status 429 si le nombre des requêtes HTTP/sec vers une URL unique depuis une même IP selon les données provenant de « track-sc1 » est supérieur à 10 (donc 10 requêtes depuis une même IP et vers la même URL sur les 10 dernières secondes).
### Protocol PROXY
L'utilisation du protocol PROXY permet de faciliter la communication et la traçabilité lorsque des proxy sont impliqués.
Voir la [présentation générale du protocol](https://www.haproxy.com/blog/use-the-proxy-protocol-to-preserve-a-clients-ip-address/).
#### HAProxy en amont
Pour envoyer du trafic à un serveur de backend en utilisant le protocol PROXY, il suffit d'ajouter le mot clé `send-proxy-v2` dans la définition du serveur :
~~~
backend be_web
server web01 192.0.2.1:80 […] send-proxy-v2
~~~
#### HAProxy en aval
Pour recevoir du trafic en utilisant le protocol PROXY, il suffit d'ajouter le mot clé `accept-proxy` dans la définition du binding :
~~~
frontend foo
bind […] accept-proxy
~~~
## Check HTTP
Cela consiste à utiliser un check http pour déterminer l'état du serveur.

View File

@ -757,6 +757,37 @@ Lecture d'un flux :
$ ffplay -probesize 32 -sync ext "rtmp://127.0.0.1/live/foo"
~~~
## Protocol PROXY
L'utilisation du protocol PROXY permet de faciliter la communication et la traçabilité lorsque des proxy sont impliqués.
À consulter :
* [présentation générale du protocol](https://www.haproxy.com/blog/use-the-proxy-protocol-to-preserve-a-clients-ip-address/)
* [doc complète](https://docs.nginx.com/nginx/admin-guide/load-balancer/using-proxy-protocol/) sur la mise en œuvre pour Nginx.
### Nginx en aval
Il faut écouter en acceptant le protocol PROXY, et indiquer la/les IP des proxy de confiance :
~~~
http {
#...
server {
listen 80 proxy_protocol;
listen 443 ssl proxy_protocol;
#...
set_real_ip_from 192.168.1.0/32;
real_ip_header proxy_protocol;
}
}
~~~
### Nginx en amont
_TODO: aire une synthèse de la doc officielle_
###
## FAQ