Infos sur le protocol PROXY
This commit is contained in:
parent
4cae9f5558
commit
5d23cfce65
|
@ -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).
|
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
|
## Check HTTP
|
||||||
|
|
||||||
Cela consiste à utiliser un check http pour déterminer l'état du serveur.
|
Cela consiste à utiliser un check http pour déterminer l'état du serveur.
|
||||||
|
|
|
@ -757,6 +757,37 @@ Lecture d'un flux :
|
||||||
$ ffplay -probesize 32 -sync ext "rtmp://127.0.0.1/live/foo"
|
$ 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
|
## FAQ
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue