proxyproto.nim
0.1.4
Proxyproto는 오래된 프로그램이 프록시 프로토콜을 처리하는 데 도움이 되는 경량 라이브러리입니다. IPv4와 IPv6를 모두 지원합니다.
Linux 및 macOS에서 작동
프록시 프로토콜을 지원하지 않는 오래된 프로그램(특히 폐쇄 소스 프로그램)이 많이 있습니다. 로드 밸런서 또는 예비 프록시 뒤에서 실행 중인 경우 소스 IP 주소를 보존하기가 어렵습니다.
Proxyproto는 accept()
proc을 가로채고 새로운 연결을 기다리고 업스트림 프록시(예: 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