Apache directives proxypass, proxypassreverse cause status code 404 when accessing content proxied by the backend webserver

  • 7018239
  • 04-Nov-2016
  • 04-Nov-2016

Environment

NetIQ Access Manager 4.X


Situation

Trying to upload a file return a status code 404 if backend webserver is apache and is using the directives proxypass and/or proxypassreverse to proxy

Resolution

Change the Reverse Proxy configuration from "Forward Received Host Name"  to "Web Server Host Name."
  1. Edit the Reverse Proxy, go to the "Web Servers" tab
  2. On "Host Header" change it from "Forward Received Host Name"  to "Web Server Host Name." 
  3. On the field right below, enter the value present in the backend webserver's "ServerName" directive. 

Cause

It seems that if the webserver hostname send to the backend webserver is not the same as the one configured in the backend webserver httpd.conf, apache will not proxy the AGs request to the backend webserver thus returning a status code 404.

See below a snippet of an httpd.conf from a apache backend webserver using proxypass and proxypassreverse directive.

 ServerName server1.mycompany.co.nz
 
  SSLEngine on
  SSLProxyEngine on
 
ProxyPass /placements/document http://webservices-dev.apac.mycompany.bz/data/document
ProxyPassReverse /placements/document http://webservices-dev.apac.mycompany.bz/data/document