proxyproto es una biblioteca liviana que ayuda a los programas antiguos a manejar el protocolo proxy. Es compatible tanto con IPv4 como con IPv6.
Funciona en Linux y macOS
Hay muchos programas antiguos que no admiten el protocolo proxy (especialmente programas de código cerrado). Cuando se ejecutan detrás de un equilibrador de carga o un proxy de reserva, es difícil preservar la dirección IP de origen.
proxyproto intercepta el proceso accept()
, espera una nueva conexión entrante y escucha el encabezado del protocolo de proxy del proxy ascendente (es decir, HAProxy, NGINX...)
Una vez leído el encabezado, proxyproto reemplaza la IP de origen con la IP proporcionada por el proxy ascendente.
git clone --depth=1 https://github.com/ba0f3/proxyproto.nim.git proxyproto
cd proxyproto
nim c -d:release src/proxyproto
Úselo directamente dentro de un programa nim que acepte conexiones entrantes
import proxyproto
Para programas existentes, utilice LD_PRELOAD
$LD_PRELOAD =./src/libproxyproto.so nc -vkl -p 4444
[PROXY] initializing
[PROXY] hook accept OK
listening on [any] 4444 ...
Cómprame unas cervezas https://paypal.me/ba0f3