我在Jetty 6的前面使用反向代理(Apache)。用户使用SSL连接到Apache,并且Apache通过普通的HTTP将一些请求转发到Jetty。我希望Jetty使用安全会话cookie。Jetty安全会话cookie在使用HTTP的反向代理的背后
有人会认为这将是任何人在安装Jetty后第一件事 - 但我很难让它工作。
我设置了Jetty以使用安全Cookie,如another stackoverflow question中所述。但是,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。有什么建议么?