proxyproto est une bibliothèque légère qui aide les programmes anciens à gérer le protocole proxy. Il prend en charge IPv4 et IPv6.
Fonctionne sous Linux et macOS
Il existe de nombreux programmes anciens qui ne prennent pas en charge le protocole proxy (en particulier les programmes fermés). Lorsqu'ils s'exécutent derrière un équilibreur de charge ou un proxy de réserve, il est difficile de conserver l'adresse IP source.
proxyproto intercepte le processus accept()
, attend une nouvelle connexion entrante et écoute l'en-tête du protocole proxy du proxy en amont (c'est-à-dire HAProxy, NGINX ..)
Une fois l'en-tête lu, proxyproto remplace l'adresse IP source par l'adresse IP fournie par le proxy en amont.
git clone --depth=1 https://github.com/ba0f3/proxyproto.nim.git proxyproto
cd proxyproto
nim c -d:release src/proxyproto
Utiliser directement dans un programme nim qui accepte les connexions entrantes
import proxyproto
Pour les programmes existants, utilisez LD_PRELOAD
$LD_PRELOAD =./src/libproxyproto.so nc -vkl -p 4444
[PROXY] initializing
[PROXY] hook accept OK
listening on [any] 4444 ...
Achetez-moi de la bière https://paypal.me/ba0f3