This article will discuss using virtual hosts to allow multiple machines - each with their own domain name (or subdomain) - to be accessed externally on one public IP address, while remaining on port 80, by having one machine proxy requests to the rest by reading the HTTP
Host:
request header.
a2enmod proxy a2enmod proxy_http
I recommend creating a new “site” (i.e. a file in /etc/apache2/sites-available/) for each machine that will be proxied. This seems to be the new Ubuntu/Debian way of configuring Apache. So start by creating and editing a new file, e.g. /etc/apache2/sites-available/foo NameVirtualHost modsec.atuin.lorddeath.net <VirtualHost modsec.atuin.lorddeath.net>
ServerName modsec.atuin.lorddeath.net
ErrorLog /var/log/apache2/error.atuinmodsec.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.atuinmodsec.log combined ServerSignature On
ProxyRequests Off ProxyPass / http://atuinmodsec/ ProxyPassReverse / http://atuinmodsec/
<Proxy *> Order deny,allow Allow from all </Proxy>
</VirtualHost>