Important

Many thanks to Neuro for the initial project and for this detailed documentation!

Reverse proxying with Apache on Linux

Welcome to the Apache reverse proxy guide. Note that this guide is meant only for Linux users, and that currently there are no options for Windows or Mac. These commands will not work on those OSs, so do not follow this if you are not on a Linux distribution.

Installing Apache

  1. Start off by updating your package index.

sudo apt update
  1. Next, install the apache2 package.

sudo apt install apache2

At this point, if you navigate to your device’s IP address, you should see an Apache welcome page.

Set up reverse proxy

You probably don’t want people visiting your domain to see that static Apache welcome page. Now we need to configure apache to reverse proxy port 42356, or whichever port your webserver is running on.

  1. Create a host configuration file for your domain:

sudo nano /etc/apache2/sites-available/reddash.conf
  1. Paste the following into the file, replacing your.domain.com with the domain you will be running the Dashboard on. Note that if you are running the webserver on a port other than port 42356, you will need to replace 42356 below with the the specified port.

<VirtualHost *:80>
    ServerName your.domain.com
    ProxyPreserveHost On
    ProxyPass / http://0.0.0.0:42356/
    ProxyPassReverse / http://0.0.0.0:42356/
</VirtualHost>

Warning

You should use localhost instead of 0.0.0.0 to make the “real” webserver port private, and use the –host localhost cli flag for starting the webserver.

  1. Enable the Apache modifications needed to reverse proxy.

sudo a2enmod proxy
sudo a2enmod proxy_http
  1. Enable the new host configuration file and disable the default.

sudo a2ensite reddash.conf
sudo a2dissite 000-default.conf
  1. Finally, restart apache for the changes to take effect.

sudo systemctl restart apache2

Now, if you navigate to your device’s IP, you should be able to see the Dashboard (if the webserver is running).