This tutorial will be quite short because the procedure for adding IP addresses is almost the same for all Linux distributions and it’s easy. However I must mention that I tested this on Ubuntu 16.04.
It’s not always easy or possible to setup port forwarding so you can access your home PC or any other device through public IP your internet service assigns you. Problem is also if your ISP rotate IPs so you always need to keep track of it. One option is to try to convince ISP to give you static IP but traffic routing on ISP side can be also behind NAT, which might be complicated to configure and guys from ISP tend to tell you forwarding is not possible.
So what can you do about that? Sometimes nothing. 🙂
Actually I won’t get into details with Varnish and Nginx configuration because it really depends on your particular case. But it should be pretty straight forward as installing default packages:
apt install varnish
apt install nginx
I’m using port 443 for SSL services, so Haproxy is using this one. It also uses http port 80 and redirect that to https. Everybody knows that Haproxy is stable and quick in jobs it does and that’s load balancing and proxying traffic. I our case we are going to use it for SSL termination and forward traffic to Varnish which is going to occupy port 6081 (default). And Nginx will use port 8080 because it’s final destination in our setup. Varnish should cache most of the web content and hopefully put our dedicated server’s CPU at ease most of the time and leverage quite slow CPU to large amount of RAM (128GB).
In case of traffic increase we can easily balance our traffic to other servers behind Varnish, because Varnish can play load balancing role as well.
So you’re trying to install Hitch for SSL termination on your Ubuntu 16.04 server? Or you might think it’s good idea because you have it working on some other Linux distribution like CentOS?
Think again. After 3-4 spent hours I found solution, installed some other SSL terminator. 😉 (Haproxy). This is where you can return to Google to look for other site if you’are looking for how to tutorial on Hitch with Ubuntu. However you might continue reading to see what kind of mess you might encounter.