173.9.5. HttpServletRequest.getRemoteAddr()를 사용하여 X-Forwarded-For 헤더를 가져옵니다.

Apache 서버에서 HTTP 요청을 처리하고 mod_proxy를 사용하여 jetty로 전달된 경우 원래 클라이언트 IP 주소는 X-Forwarded-For 헤더에 있고 HttpServletRequest.getRemoteAddr()는 Apache 프록시의 주소를 반환합니다.

Jetty에는 X-Forwarded-For의 값을 가져와서 HttpServletRequest remoteAddr 속성에 배치하는 전달된 속성이 있습니다.  이 속성은 끝점 구성을 통해 직접 사용할 수 없지만 socketConnectors 속성을 사용하여 쉽게 추가할 수 있습니다.

<bean id="jetty" class="org.apache.camel.component.jetty.JettyHttpComponent">
    <property name="socketConnectors">
        <map>
            <entry key="8080">
                <bean class="org.eclipse.jetty.server.nio.SelectChannelConnector">
                    <property name="forwarded" value="true"/>
                </bean>
            </entry>
        </map>
    </property>
</bean>

이는 기존 Apache 서버가 도메인에 대한 TLS 연결을 처리하고 내부적으로 애플리케이션 서버에 프록시할 때 특히 유용합니다.