Jetty 9의 https에서 http 역방향 프록시로

Jetty 9의 https에서 http 역방향 프록시로

좋아, 기본적으로 내가 원하는 것은 nginx에서 https 페이지를 제공하고 http를 사용하여 Jetty로 리디렉션하도록 역방향 프록시를 설정하는 것입니다. 문제는 서블릿이 실제로 https를 요구하고 http 페이지로 전송된 것을 확인한 후 https 주소로 리디렉션한다는 것입니다.

이전에는 다음을 추가하여 Jetty 7에서 모든 것을 실행했습니다.

<Set name="forwarded">true</Set>

SelectChannelConnector용 jetty.xml에 추가했고 이제 Jetty 9로 업그레이드하기로 결정했으므로 이 구성을 대체할 만한 것을 찾을 수 없는 것 같고 예전에는 Jetty에서 완벽하게 작동했으므로 nginx 설정에 문제가 없다고 확신합니다. 7.

여기에 내가 가진 것을 더 명확하게 하기 위한 내 nginx 구성의 일부가 있습니다.

location / {
    proxy_pass http://127.0.0.1:8080;
    include /etc/nginx/proxy_params;
}

내 Proxy_params 파일은 다음과 같습니다.

proxy_redirect   off;
proxy_set_header Host              $host;
proxy_set_header X-Real-IP         $remote_addr;
proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

답변1

달성하는 것은 매우 간단한 것 같습니다. 다음 부분의 주석 처리를 제거하면 됩니다 /etc/jetty.xml.

<!-- Uncomment to enable handling of X-Forwarded- style headers
<Call name="addCustomizer">
  <Arg><New class="org.eclipse.jetty.server.ForwardedRequestCustomizer"/></Arg>
</Call>
-->

그래서 저는 시각 장애인이거나 이전 버전의 Jetty 9에는 그렇게 분명한 장소에 이 옵션이 없었습니다.

관련 정보