좋아, 기본적으로 내가 원하는 것은 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에는 그렇게 분명한 장소에 이 옵션이 없었습니다.