Reverse Proxy

Reverse Proxy is a reverse proxy which can be used for SSL termination and/or subdomain multiplexing. Reverse Proxy is similar to Traefik or Nginx, but aims to be simpler and easier to use.

Click here to download the zip file containing binaries for the following platforms:


In this example, we would like to set up two subdomains, and

I recommend for getting LetsEncrypt SSL cerficates. This demonstrates how to install and run This requests a certificate in standalone mode, which requires socat and sudo (in order to listen on port 80).

$ curl | sh
(exit then log back in to enable
$ sudo apt install socat
$ sudo setcap 'cap_net_bind_service=+ep' /usr/bin/socat
$ --issue --standalone --server letsencrypt \
	-d -d -d

After running, will set up a cron job to automatically renew the cert. Because the cron job also listens on port 80, we will need to keep that port free. In addition, we would like to redirect to port 8000 and just echo any request to We need sudo again to listen on port 443. So the full command is:

$ sudo rp 0 \
	-ssl 443 \
		/home/aaron/ \
		/home/aaron/ \
	-map 8000 \
	-map -1


	rp [port] -ssl [ssl_port] [key] [crt] -map [host_header] [local_port]
	-[port] is the http port
	-if -ssl is specified, [ssl_port] is the https port and [key] and [crt]
	 are the key and certificate file paths
	 -if [port] is positive, it will redirect to [ssl_port]
	 -if [port] is negative, it will mirror [ssl_port]
	 -if [port] is zero, it will be ignored
	-if -map is specified, incoming requests with [host_header] are forwarded
	 to [local_port] (multiple mappings can be specified)
	-if [local_port] is -1, the [host_header] is mapped to an echo handler, which
	 is useful for debugging

How is this better than Traefik/Nginx?

It's smaller, simpler, and easier to use.