proxyproto.nim
0.1.4
proxyproto は、古いプログラムがプロキシ プロトコルを処理するのに役立つ軽量ライブラリです。 IPv4 と IPv6 の両方をサポートします。
Linux および macOS で動作します
プロキシ プロトコルをサポートしていない古いプログラム (特にクローズド ソース プログラム) が多数あります。ロード バランサーやリザーブ プロキシの背後で実行されている場合、送信元 IP アドレスを保持するのは困難です。
proxyproto はaccept()
プロシージャをインターセプトし、新しい接続を待ち、上流プロキシ (つまり、HAProxy、NGINX など) からのプロキシ プロトコル ヘッダーをリッスンします。
ヘッダーが読み取られると、proxyproto はソース IP を上流プロキシによって提供された IP に置き換えます。
git clone --depth=1 https://github.com/ba0f3/proxyproto.nim.git proxyproto
cd proxyproto
nim c -d:release src/proxyproto
受信接続を受け入れる nim プログラム内で直接使用します。
import proxyproto
既存のプログラムの場合は、LD_PRELOAD を使用します。
$LD_PRELOAD =./src/libproxyproto.so nc -vkl -p 4444
[PROXY] initializing
[PROXY] hook accept OK
listening on [any] 4444 ...
ビール買ってきて https://paypal.me/ba0f3