在 cxf-rt-transports-http-jetty 中配置 ForwardedRequestCustomizer

Configure ForwardedRequestCustomizer in cxf-rt-transports-http-jetty

任何人都可以提供如何在 cxf-rt-transports-http-jetty 3.1.1 提供的码头中配置 ForwardedRequestCustomizer 的线索吗? cxf.xml 和 httpj 命名空间似乎不支持它。我需要处理 X-Forwarded-Proto headers,因为 SSL 在码头之前在负载均衡器上终止。码头版本是9.2.10。 Spring 4.1.7。

在 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 维护端口号和引擎之间的静态映射。