Я использую обратный прокси-сервер (Apache) перед Jetty 6. Пользователи подключаются к Apache с помощью SSL, и Apache пересылает некоторые запросы в Jetty по обычному HTTP.Я хочу, чтобы Jetty использовала безопасные сеансовые куки-файлы.
Можно подумать, что это будет первое, что кто-нибудь сделает после установки Jetty, но мне трудно заставить его работать.
Iнастройте Jetty для использования безопасных файлов cookie, как описано в другой вопрос stackoverflow .Тем не менее, Jetty отказывается использовать безопасные файлы cookie - я предполагаю, что это связано с тем, что соединение с обратным прокси-сервером не является SSL.
Я пытался убедить Jetty в том, что он работает над запросом, который пришел через SSL, следуя описанию в sonatype.com .То есть я добавил следующее в Apache:
RequestHeader set X-Forwarded-Scheme "https"
и в /etc/jetty/jetty.xml:
<Set name="handler">
<New id="Handlers" class="org.mortbay.jetty.handler.rewrite.RewriteHandler">
<Set name="rules">
<Array type="org.mortbay.jetty.handler.rewrite.Rule">
<Item>
<New id="forwardedHttps"
class="org.mortbay.jetty.handler.rewrite.ForwardedSchemeHeaderRule">
<Set name="header">X-Forwarded-Scheme</Set>
<Set name="headerValue">https</Set>
<Set name="scheme">https</Set>
</New>
</Item>
</Array>
</Set>
<Set name="handler">
<New id="Handlers" class="org.mortbay.jetty.handler.HandlerCollection">
<Set name="handlers">
<Array type="org.mortbay.jetty.Handler">
<Item>
<New id="Contexts" class="org.mortbay.jetty.handler.ContextHandlerCollection"/>
</Item>
<Item>
<New id="DefaultHandler" class="org.mortbay.jetty.handler.DefaultHandler"/>
</Item>
<Item>
<New id="RequestLog" class="org.mortbay.jetty.handler.RequestLogHandler"/>
</Item>
</Array>
</Set>
</New>
</Set>
</New>
</Set>
Все еще нет безопасных файлов cookie.Есть предложения?