[COMMUNITY] Promote the undertow subsystem’s reverse proxy HTTP header configurability to community stability
Overview
[WFLY-14255](https://issues.redhat.com/browse/WFLY-14255) introduced two preview
stability attributes to allow users to configure an undertow
subsystem reverse-proxy
resource to:
* reuse and append to any existing X-Forwarded-*
HTTP headers instead of replacing them
* set the Host
header to the connection’s remote end and create an X-Forwarded-Host
header
This feature is simply to promote the two subsystem attributes to community
stability.
User Stories
I’m doing dev ops for a site and am using WildFly as a load balancer by configuring the undertow
subsystem’s reverse-proxy
resource. I want existing X-Forwarded-*
headers to be retained, appended to and passed on to the backend server. I want this to be usable out of the box in standard WildFly, without needing to enable preview
stability features.
I’m doing dev ops for a site and am using WildFly as a load balancer by configuring the undertow
subsystem’s reverse-proxy
resource. I want backend servers to see their address as the Host
header value, with the LB’s address in the X-Forwarded-Host
header. I want this to be usable out of the box in standard WildFly, without needing to enable preview
stability features.
Issue Metadata
Related Issues
Affected Projects or Components
Other Interested Projects
Relevant Installation Types
-
Traditional standalone server (unzipped or provisioned by Galleon)
-
Managed domain
-
OpenShift Source-to-Image (S2I)
-
Bootable jar
Requirements
-
A new
wildfly-undertow_comunity_14_0.xsd
will be added, along with the related UndertowSubsystemSchema enum and any necessary parser adjustments.
Changed requirements
None
Non-Requirements
None
Future Work
Potential promotion to default
stability, if wanted.
Backwards Compatibility
No impact. The reverse-proxy
resource is not in any default configuration, and the attribute has no default value.
Importing Existing Configuration
No impact.
Deployments
No impact.
Interoperability
No impact.
Admin Clients
No additional work should be required. These attributes are automatically configurable in clients if exposed by the server. Promoting them simply makes them exposed OOTB in standard WildFly.
Security Considerations
None
Test Plan
This feature is about configuration via the subsystem, so the testing will focus on that: standard subsystem testing of the parsing, Stage.MODEL processing and persistence of the attribute in a configuration element using commmuntity
stability xsd.
The Undertow behavior these attributes control has been part of Undertow for since 2014, in the Undertow 1.1 release.
Community Documentation
Documentation via the wildscribe output. The Admin Guide’s [Using WildFly as a static load balancer](https://docs.wildfly.org/35/Admin_Guide.html#using-wildfly-as-a-static-load-balancer) section doesn’t get into the details of the resource attributes, deferring to the wildscribe output for that.
Release Note Content
The undertow
subsystem now allows configuring a reverse proxy handler to reuse existing X-Forwarded-*
headers and to rewrite the Host
header while adding an X-Forwarded-Host
header. These capabilities have been available since WildFly 33 in a server running at the preview
stability level. This feature is now provided at the community
stability level, meaning it’s available in the out-of-the-box stability level of standard WildFly.