[
https://issues.apache.org/jira/browse/CXF-7160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15766682#comment-15766682
]
Sergey Beryozkin commented on CXF-7160:
---------------------------------------
Hi Joe, Freeman, will you agree this issue is also covered by CXF-7179 ? If yes
- please resolve this one.
As far as Jetty9 support is concerned, one way is to introduce an http-jetty9
module (which would probably require creating http-jetty-common to have both
http-jetty & http-jetty9 reusing it) but given that http-jetty also works with
Jetty9 (except that it is tricky to customize it with Jetty9) I'm not sure what
the best approach is. May be update http-jetty for 3.2.0 to do only Jety 9,
we'd need to discuss it the dev list...
thanks
> Can not configure CXF http-jetty transport to handle X-Fowarded-for headers
> with Jetty 9
> ----------------------------------------------------------------------------------------
>
> Key: CXF-7160
> URL: https://issues.apache.org/jira/browse/CXF-7160
> Project: CXF
> Issue Type: Bug
> Components: Transports
> Affects Versions: 3.1.5
> Reporter: Joe Luo
> Assignee: Freeman Fang
>
> With Jetty 8, we can configure CXF http-jetty transport to handle reverse
> proxy headers by simply setting "forwarded" to "true" to Jetty8 NIO
> SelectChannelConnector:
> {code}
> <httpj:engine-factory bus="cxf">
> <httpj:engine port="${crx.ws.port}">
> <httpj:connector>
> <bean id="connector"
> class="org.eclipse.jetty.server.nio.SelectChannelConnector">
>
> <property name="port" value="${crx.ws.port}" />
>
> <property name="forwarded" value="true" />
>
> </bean>
> </httpj:connector>
> </httpj:engine>
> </httpj:engine-factory>
> {code}
> However, with Jetty 9, it is not possible to do so. Because in Jetty 9, the
> SelectChannelConnector was replaced by more generic purpose ServerConnector.
> And we can't configure ServerConnector since the old no-args constructor does
> not exist anymore in ServerConnector class and all new constructors require
> the org.eclipse.jetty.server.Server as an input parameter.
> Jetty 9 documentation here talked about "X-Forward-for Configuration":
> http://www.eclipse.org/jetty/documentation/9.4.x/configuring-connectors.html
> We should configure HttpConfiguration with ForwardedRequestCustomizer in
> order to handle reverse proxy headers:
> {code}
> <New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration">
> <Set name="outputBufferSize">32768</Set>
> <Set name="requestHeaderSize">8192</Set>
> <Set name="responseHeaderSize">8192</Set>
> <Call name="addCustomizer">
> <Arg>
> <New class="org.eclipse.jetty.server.ForwardedRequestCustomizer"/>
> </Arg>
> </Call>
> </New>
> {code}
> However, CXF http-jetty transport schema is not in-sync with API changes in
> Jetty 9. There is no way to configure above with CXF http-jetty transport
> schema.
> I can think of two solutions:
> # Just like what we did in another JIRA:
> https://issues.apache.org/jira/browse/CXF-5937 for servlet, we should also
> fix CXF http-jetty transport so we can optionally react to X-Forwarded
> headers;
> # Change CXF http-jetty transport schema
> http://cxf.apache.org/schemas/configuration/http-jetty.xsd
> and related java code to allow configuring HttpConfiguration along with
> ForwardedRequestCustomizer in order to handle X-Fowarded-for headers.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)