proxyproto é uma biblioteca leve que ajuda programas antigos a lidar com protocolo proxy. Ele suporta IPv4 e IPv6.
Funciona em Linux e macOS
Existem muitos programas antigos que não suportam protocolo proxy (especialmente programas de código fechado). Quando eles estão sendo executados atrás de um balanceador de carga ou proxy de reserva, é difícil preservar o endereço IP de origem.
proxyproto intercepta o processo accept()
e aguarda uma nova conexão iminente e escuta o cabeçalho do protocolo proxy do proxy upstream (ou seja, HAProxy, NGINX ..)
Após a leitura do cabeçalho, o proxyproto substitui o IP de origem pelo IP fornecido pelo proxy upstream.
git clone --depth=1 https://github.com/ba0f3/proxyproto.nim.git proxyproto
cd proxyproto
nim c -d:release src/proxyproto
Use diretamente dentro de um programa nim que aceita conexões de entrada
import proxyproto
Para programas existentes, use LD_PRELOAD
$LD_PRELOAD =./src/libproxyproto.so nc -vkl -p 4444
[PROXY] initializing
[PROXY] hook accept OK
listening on [any] 4444 ...
Compre-me uma cerveja https://paypal.me/ba0f3