任何人都可以提供如何在cxf-rt-transports-http-jetty 3.1.1提供的jetty中配置ForwardedRequestCustomizer的线索吗? cxf.xml和httpj名称空间似乎没有它的支持。我需要处理X-Forwarded-Proto标头,因为SSL在jetty之前在负载均衡器上终止。码头的版本是9.2.10。春季4.1.7。
答案 0 :(得分:0)
我在cxf.xml处理之后(即在Endpoint.publish之后)在Java代码中添加了ForwardedRequestCustomizer
private void configureForwardedRequestCustomizer()
{
JettyHTTPServerEngineFactory factory = new JettyHTTPServerEngineFactory();
JettyHTTPServerEngine engine = factory.retrieveJettyHTTPServerEngine(port);
Iterator<ConnectionFactory> iter = engine.getConnector().getConnectionFactories().iterator();
while (iter.hasNext())
{
HttpConnectionFactory f = (HttpConnectionFactory) iter.next();
f.getHttpConfiguration().addCustomizer(new ForwardedRequestCustomizer());
}
}
请注意,这可以用作cxf维护端口号和引擎之间的静态映射。