[technique] Logs des requêtes http en IPv6 avec Docker

Albert ARIBAUD albert.aribaud at free.fr
Dim 23 Oct 13:56:44 CEST 2022


Bonjour,

Le dimanche 23 octobre 2022 à 12:37 +0200, manu chez Z via technique a
écrit :
> Bonjour
> Nous (le pic) utilisons une architecture à base de conteneurs docker,
> avec un reverse-proxy connecté aux ports 80 et 443, qui renvoie les
> requêtes sur divers conteneurs en fonction du virtual host demandé.
> Il y a un gros problème avec cette architecture, car les logs du
> proxy (et donc aussi les logs des conteneurs qui sont derrière)
> contiennent l'adresse IP source lorsqu'il s'agit d'une requête IPv4,
> mais l'adresse IPv4 du gateway lorsqu'il s'agit de requêtes IPv6 !
> Donc nous n'avons pas connaissance de l'adresse IPv6 utilisée. Un
> exemple avec le cloud du pic, qui repose sur le travail d'oxytanet
> (mais c'est la même chose avec nos autres services):
> web_1 | 2022-10-23T10:21:06.535228752Z 172.18.0.2 - -
> [23/Oct/2022:10:21:06 +0000] "GET /s/xxxxxxxxxxxx HTTP/1.1" 200 7447
> "-" "curl/7.74.0" "172.18.0.1" 
> C'est très ennuyeux, ne serait-ce que pour des raisons légales. Et
> c'est de plus en plus ennuyeux, car il y a de plus en plus de
> requêtes IPv6. 
> J'ai cherché tous les tutos du monde qui parlent de ça, mais je n'ai
> pas réussi à m'en sortir, même sur une machine de tests rebootable à
> l'envie. Est-ce que quelqu'un a déjà fait ça ? 
> Merci de votre aide !

J'ai eu le problème avec NGINX en reverse proxy d'une autre machine,
mais je pense que c'est la même chose qu'avec des containers.

Ma solution s'est appuyée sur les options

    proxy_pass <URI du serveur>;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $remote_addr;

où "proxy_pass <URI du serveur>" est la directive qui réalise le
reverse proxy, et les deux "proxy_set_header" sont ce qui permet au
serveur final de savoir quelle était l'adresse du vrai client.

Comme tu ne précises pas de détails sur ton reverse proxy, ce qui
précède ne s'applique peut-être pas à ton cas, mais tu dois trouver
l'équivalent chez Apache et autres.

> Emmanuel
> _______________________________________________
> technique mailing list
> technique at lists.tetaneutral.net
> http://lists.tetaneutral.net/listinfo/technique

Amicalement,
Albert.



Plus d'informations sur la liste de diffusion technique