Configuring Apache HTTPD for Reverse Proxy

The Apache web server can be used as a reverse proxy server. The optional module mod_proxy is loaded and configured to enable this.

Loads the required modules:

Step 01> In httpd.conf, Insert the following lines:

LoadModule proxy_module modules/

LoadModule proxy_http_module modules/

Configure mod_proxy settings:

Step 02> The ProxyPreserveHost setting causes the Host: HTTP header to be preserved during the forwarding. It is required to make the Dekho web services function correctly. If this is not included, the dynamically-generated WSDL of the web services will be incorrect.

Step 03> The <Proxy> tag is used to control security. The example shown allows all clients to access the reverse proxy.

Alter this setting to suit the local site:

ProxyRequests Off

ProxyPreserveHost On


<Proxy *>

  Order deny,allow

  Allow from all


The ProxyPass directives create the forwarding rules:

Step 04> Replace http://Dekhoserver:8080 with the address of the local Dekho server

Step 05> Replace http://arcgisserver with the address of the ArcGIS Server, including port 8399 if using ArcGIS Server Java edition.

ProxyPass    /Dekho/        http://Dekhoserver:8080/Dekho/

ProxyPass    /DekhoCache/   http://Dekhoserver:8080/DekhoCache/

ProxyPass    /ArcGIS/services       http://arcgisserver/ArcGIS/services

ProxyPass    /ArcGIS/rest/services  http://arcgisserver/ArcGIS/rest/services

ProxyPass    /arcgisoutput          http://arcgisserver/arcgisoutput




INFORMATION: The correct URL for Dekho includes a trailing slash, eg, http://Dekhoserver:8080/Dekho/. When accessing Dekho by directly connecting to the Java application server (eg, Apache Tomcat), the trailing slash is added automatically if it is missing. When accessing Dekho via a reverse proxy, the trailing slash is not added automatically if it is missing. Instead a 404 error (page not found) is returned to the end user.




Missing Slash