[Deployment]: 01 Working with Proxy Server

Introduction

A Proxy Server is a server used for forwarding requests of clients to a remote server. The proxy server works like a gateway between the client and the internet: the client will send the request to the proxy server; the proxy server sends it to the actual remote server and gets the response; then the proxy server sends the response to the client.

The following article shows how a Repertoire Server can be deployed to work behind a firewall.

Apache Web Proxy Server

http://httpd.apache.org/docs/2.0/mod/mod_proxy.html

The Apache Web Server can be configure as a Reverse Proxy Server to allow internet clients to access services from a Repertoire Server.

A reverse proxy appears to the client just like an ordinary web server. No special configuration on the client is necessary. The client makes ordinary requests for content in the name-space of the reverse proxy. The reverse proxy then decides where to send those requests, and returns the content as if it was itself the origin.

A typical usage of a reverse proxy is to provide Internet users access to a server that is behind a firewall.

Configuration of Apache Web Proxy Server

The following are the general steps to configure the Apache Web Proxy Server

  • Ensure that the mod_proxy_http, mod_proxy are enabled
  • A Sample httpd.conf showing how a reverse proxy can be setup.

//…/Apache Software Foundation/Apache2.2/conf/httpd.conf

ServerName proxy.elixirtech.com:80

ProxyRequests Off

<Proxy *>

Order deny,allow
Allow from all

ProxyPass / http://192.168.1.20:8080/
ProxyPassReverse / http://192.168.1.20:8080/

Administration Console via Proxy

REST API via Proxy

Once your proxy server is successfully setup, you will be able to use the Repertoire Server’s REST API via the Proxy
http://proxy.elixirtech.com:80/report/ElixirSamples/Report/Grouping/Customer Distribution with Grouping.rml?mime-type=application/pdf

Remote Designer via Proxy

  1. To launch the Remote Designer via Proxy, some modification is required for ./config/remote.jnlp.template.

  2. Replace codebase attribute from “${Protocol}://${Server}:${Port}/jnlp” to “http://your proxy server name:your proxy server port/jnlp”

  3. Insert the following xml tags after the ${Arguments}

    < argument>-server< /argument >
    < argument>your proxy server name< /argument>
    < argument>-port< /argument>
    < argument>your proxy server name< /argument>

Summary

In general, Repertoire Server will work with proxy servers. Please check with your proxy server’s documentation for configuration details.