호스트 헤더를 기반으로 속도 제한을 설정할 수 있나요? 즉, IP 주소뿐만 아니라

호스트 헤더를 기반으로 속도 제한을 설정할 수 있나요? 즉, IP 주소뿐만 아니라

사람들이 xml 파일을 게시할 웹 서비스 엔드포인트를 구축하고 있는데 실제로 초당 1,000개가 넘는 요청이 쏟아질 것입니다.

이제 그들은 http post를 통해 이러한 xml 파일을 보내고 있지만 대부분은 속도가 제한됩니다.

문제는 웹 애플리케이션이 xml에서 source_id를 조회하여 속도 제한을 수행하고, 분당 x 요청을 초과하면 더 이상 처리되지 않는다는 것입니다.

어떻게든 처리 초기에 속도 제한 확인을 수행하여 50K 파일을 저장하여 웹 서버에 파이프라인을 던지고 리소스를 소모할 수 있는지 궁금했습니다.

로드 밸런서가 어떻게든 요금 사용량을 확인하기 위해 호출할 수 있습니까?

가능하다면 source_id를 호스트 헤더에 넣어 XML 파일도 구문 분석하여 메모리에 로드할 필요가 없도록 할 수 있습니다.

호스트 헤더만 보고 전체 50K xml 파일을 메모리에 로드하지 않는 것이 가능합니까?

전체 TCP/IP 스택 등에 대한 더 많은 지식이 필요하므로 귀하의 통찰력에 진심으로 감사드립니다.

답변1

가능성에는 두 가지 기본 유형이 있습니다.

1) 귀하는 귀하의 설계에 협조하지 않는 적대적인 공격자를 상대하고 있습니다. 이 경우 Host그들이 보내는 헤더 에 관심이 있는 이유는 무엇입니까 ? IP별로 속도를 제한합니다.

2) 당신은 당신이 원하는 것보다 더 많은 부하를 부과하는 협력 클라이언트를 다루고 있습니다. 이 경우에는 요청을 수락하고 물러서라는 답장을 보내세요.

이 두 가지 간단한 범주 중 하나에 속하지 않는 보다 복잡한 상황이 있는 경우 최상의 솔루션은 해당 상황에 따라 달라질 수 있습니다.

답변2

유사한 모듈을 사용하여 Apache를 통해 차단할 수 있습니다. 또는 더 일찍 잘라내고 싶다면 iptables 문자열 일치를 사용하여 정규식을 통해 항목을 차단할 수 있습니다.

답변3

이것이 바로TC명령/유틸리티는 약간의 노력이 필요하지만 노력할 가치가 있습니다. 저는 이를 회사 LAN 외부의 DMZ에 있는 서버로 전송하는 속도를 제한하는 데 사용합니다.

다음은 나를 제대로 이끌어 준 몇 가지 링크입니다.

Tc 필터 - 포트 범위는 마스크 값을 계산합니다. http://mailman.ds9a.nl/pipermail/lartc/2007q4/021739.html

단일 호스트 또는 넷마스크의 속도 제한: http://lartc.org/howto/lartc.ratelimit.single.html

http://www.linuxquestions.org/questions/linux-networking-3/limit-bandwidth-rate-for-scp-using-tc-htb-linux-825684/

관련 정보