Skip to content
Dude4Linux edited this page Jun 30, 2013 · 6 revisions

###TurnKey - Reverse Proxy Server

Some thoughts on creating a reverse proxy appliance server.

Requirements:

  1. External/Internal hostname mapping. In our proposed business model, clients need access to a virtual server for testing and feedback during development. We must be able to share a single external IP address with multiple external domains sharing port 80. The proxy must map authorized external hostnames to the appropriate internal hostname.

  2. Caching is desirable because we want to present good performance to the client.

  3. SSL handling is needed for client logins, etc.

  4. A web GUI is desirable for displaying performance and managing configuration.

  5. Load balancing is not a consideration for us, but is important for a general purpose reverse proxy.

Options:

  1. Squid-cache + jesred + ???

  2. Pound + Pound is a reverse-proxy load balancing server. It supports ssl by decrypting the request and then passing it as http to a back-end server. Nginx is faster, more efficient, and more configurable. Calomel:

  3. Nginx + ??? Nginx handles ssl, caching, and reverse proxy. Sometimes used as front end for Varnish to handle ssl. Calomel https://calomel.org/nginx.html Nginx + SSI + Memcached Homo-Adminus Blog http://kovyrin.net/2007/08/05/using-nginx-ssi-and-memcache-to-make-your-web-applications-faster/

  4. Haproxy +

  5. Varnish + Varnish doesn't handle ssl at all. Some add Pound or Nginx for ssl but this adds complexity.

Testing Performance:

  1. WebPageTest http://www.webpagetest.org/

Installing Nginx on TurnKey Core

apt-get update apt-get upgrade apt-get install nginx

uncomment server_names_hash_bucket_size 64; in /etc/nginx/nginx.conf

References:

Clone this wiki locally