Setting up a proxy in front of the Business Objects web server

Recently we have installed Business Objects for one of our customers. The BO web reporting has installed to run on port 6405 by default. Alas, the only port available to the rest of the customer's network on this machine was port 80. After a couple of hours of trying to find how to change BO Tomcat's port I gave up and decided to install a web proxy instead. In the end, it was a lot quicker. Here's what I did...

Recently we have installed Business Objects for one of our customers. The BO web reporting has installed to run on port 6405 by default. Alas, the only port available to the rest of the customer's network on this machine was port 80. After a couple of hours of trying to find how to change BO Tomcat's port I gave up and decided to install a web proxy instead. In the end, it was a lot quicker. Here's what I did.

1. Downloaded latest stable Apache HTTP Server. At the time of writing it was version 2.2.16. Installed Apache using typical setup type. It installed to its default location (C:\Program Files\Apache Software Foundation\Apache2.2).

2. Opened Apache configuration directory (C:\Program Files\Apache Software Foundation\Apache2.2\conf. Edited httpd.conf as follows.

Uncommented mod_proxy and mod_proxy_http modules loading instructions:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

Found the following Directory instruction:

<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>

Changed it as follows:

<Directory />
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

Uncommented Virtual hosts include file:

Include conf/extra/httpd-vhosts.conf

Saved and closed httpd.conf.

3. Changed from the configuration directory to a subdirectory called extra. Edited httpd-vhosts.conf. Saw something like this:

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host.domain.local"
ServerName dummy-host.domain.local
ServerAlias www.dummy-host.domain.local
ErrorLog "logs/dummy-host.domain.local-error.log"
CustomLog "logs/dummy-host.domain.local-access.log" common
<Proxy *>
AddDefaultCharset Off
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:6405/
ProxyPassReverse / http://localhost:6405/
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host2.domain.local"
ServerName dummy-host2.domain.local
ErrorLog "logs/dummy-host2.domain.local-error.log"
CustomLog "logs/dummy-host2.domain.local-access.log" common
</VirtualHost>

Modified it as follows:

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName dummy-host.domain.local
ServerAlias www.dummy-host.domain.local
ErrorLog "logs/dummy-host.domain.local-error.log"
CustomLog "logs/dummy-host.domain.local-access.log" common
<Proxy *>
AddDefaultCharset Off
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:6405/
ProxyPassReverse / http://localhost:6405/
</VirtualHost>

I've deleted the DocumentRoot entry and added mod_proxy parameters in the first VirtualHost definition, I also removed the second VirtualHost definition completely.

Saved and closed httpd-vhosts.conf

4. Restarted Apache Server. The easiest way is to do it via the Start menu: Start -> All Programs -> Apache HTTP Server 2.2 -> Control Apache Server -> Restart

Now the BO reports can be seen from the rest of the network: http://<external_ip>/InfoViewApp/

This entry has no pings

Trackback URL : http://qoob.net/blog/trackback/5