2012-07-28 2 views
4

나는이 문제에 대한 해결책을 찾지 못했습니다. 내가 2010 년으로 거슬러 올라간 최신 게시물. grizzly 2.2.1이 포함 된 Jersey 1.12를 사용하고 있습니다.그립 저지를 사용하는 경우 원격 주소 받기

제대로 이해했다면 저지 자원을 서블릿 컨테이너 아래에 배치하지 않으면 HttpServletRequest를 주입 할 수 없습니다. 해결 방법이 있습니까?

+1

따라서 해결 방법은 또한 뉴저지에서 쉽게 접근 할 수있는 요청 헤더로 원격 주소를 전달할 수 있도록했다 http://www.jroller.com/iangreen/entry/getting_remote_host_using_jersey이 (가) –

+0

을 가리키는 게시물 인 것 같습니다. http://stackoverflow.com/questions/17233960/how-can-i-get-my- 그리즐리 저지를 사용하는 로깅 용 실무 클라이언트 주소에는 작동 할 수있는 몇 가지 코드가 있습니다. –

답변

0

내 경우에는로드 밸런서로 nginx에서 실행되는 독립 실행 형 저지 클러스터를 사용했습니다.

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
1

사용하여 다음과 같은 :

@Context org.glassfish.grizzly.http.server.Request req 

사용 예제 :

@Path("/example") 
public class SomeResource { 

    @POST 
    @Consumes("application/x-www-form-urlencoded") 
    public void someMethod(@Context Request req) { 
    System.out.println(req.getRemoteAddr()); 
    } 
}