2014-12-15 6 views
3

web.xml에 추가 될 때 프레임 워크 (Spring/CXF/Jersy 등)와 관계없이 JVM/나가는 요청 (응답)을 가로 챌 수있는 HttpFilter (javax.Servlet.Filter) , 프레임 워크와 독립적으로 헤더를 추가/수정하기 위해 나가는 HTTP 호출을 JVM에서 가로 챌 수있는 API를 찾으려고합니다. 또한 프록시를 통해 요청을 라우트하는 것은 압도적으로 들립니다.발신 HTTP 호출을 모두 가로 채기 java

나가는 HTTP 호출이라는 단어가 포럼에서 잘못 해석되는 경우가 있으므로 예를 들어 설명하겠습니다.

두 개의 JVM, jvm1 및 jvm2가 있다고 가정합니다. JVM1에서 JVM2로 HTTP 호출이 이루어집니다. 호출이 발생하기 전에 헤더 정보를 수정하기 위해 JVM1에서 만들어진 HTTP 연결을 가로 채고 싶습니다. 코드를 특정 프레임 워크에 묶어서 요격기로 묶고 응용 프로그램 팀과 공유 할 수 없도록하고 싶습니다. web.xml의 변경 사항은 정상입니다.

제안 사항? 도와주세요!

답변

1

JVM은 통신을 위해 어떤 식 으로든 java.net.Socket 또는 java.net.ServerSocket을 사용할 수 있으며 여기서는 아무 것도 가로 챌 수 없습니다.

(투명) proxy을 통해 연결하면 모든 HTTP 트래픽을 차단할 수 있습니다. 프록시가 아무 것도 가로 챌 것이고 당신은 어떤 내용을 수정할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 프록시도 도움이되지 않습니다. JVM1이 JVM2와 마찬가지로 수신 한 헤더 정보를 다시 보내려고합니다. – IronKnight

+1

3 년 늦었습니다. 최근에이 일을해야만하고 질문을 찾았습니다. 필자는 Feign과 RequestInterceptor를 사용하여 나가는 호출을 가로 채기 위해 사용자 정의 일반 클라이언트 작성기를 작성했습니다. – Lodewyk

0

우리는 aspectj와 함께 갔다. 최고의 솔루션은 아니지만 유일한 옵션입니다.