WebSphere: Port Set In the Host Header of a Request Returned Incorrectly

This issue applies only to configurations involving the IBM WebSphere web server and either of the following reverse proxy servers:

  • Microsoft IIS

  • Oracle Sun Java System Web Server

This issue appears in the following situation (or similar). Assume there is PeopleSoft Interaction Hub deployed on WebSphere 1, say Site A, which accesses a pagelet in a PeopleSoft Interaction Hub deployed on WebSphere 2, say Site B. In front of Site A, there is reverse proxy server (Oracle Sun Java System Web Server or IIS) configured.

In such a scenario, when a HTTP request is made to the PeopleSoft Interaction Hub on Site A through an RPS port, Site A returns the HTTP request to fetch the remote pagelet from Site B. The HTTP response from Site B contains the RPS port number instead of the HTTP port of Site A. This is due to the default behavior of WebSphere, which reads the port number from the Request URL instead of from the HTTP Header (HOST field).

See http://www-01.ibm.com/support/docview.wss?uid=swg1PK55330.

This default behavior can be altered by modifying the web container custom properties in WebSphere on Site B.

To modify the custom properties:

  1. Open the Administrative Console and select Servers, Server Types, WebSphere application servers, server1, Web Container Settings, web container.

  2. Set these custom properties:

    • trusted = false

    • trusthostheaderport = true

    • com.ibm.ws.webcontainer.extractHostHeaderPort = true

  3. Restart the web server.