Add password to Apache2 directory.

Put something like this in your sitename.conf:

<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName muziek.wasietsmet.nl
DocumentRoot "/mnt/music"

<Directory "/mnt/music">
  Allow from all
  AuthUserFile /var/www/muziek.wasietsmet.nl/.wachtwoord
  AuthType Basic
  AuthName "muziek"
  Require valid-user
</Directory>

CustomLog "|/usr/bin/rotatelogs /var/www/muziek.wasietsmet.nl/log/access%d-%m-%Y 86400" vhost_combined env=!dontlog
ErrorLog "|/usr/bin/rotatelogs /var/www/muziek.wasietsmet.nl/log/error%d-%m-%Y 86400"

SSLCertificateFile
...

</IfModule>

Use htpasswd -c /var/www/muziek.wasietsmet.nl/.wachtwoord $USERNAME to create the .wachtwoord file.

Apache2 proxy setup.

Om lan servers via internet te benaderen en daarbij niet te veel poorten te hoeven openen kun je Apache2 gebruiken als proxy server.

Voorbeeld salamanders:

Opslaan als salamanders.wasietsmet.nl.conf in /etc/apache2/sites-available.

<VirtualHost *:80>

    Servername salamanders.wasietsmet.nl

    ProxyRequests Off

    ProxyPreserveHost On

    <Location />
        ProxyPass "http://192.168.0.199/"
        ProxyPassReverse "http://192.168.0.199/"
    </Location>

    SetEnvIf Request_URI "^/api/getdevice" dontlog

    CustomLog "|/usr/bin/rotatelogs /var/www/salamanders.wasietsmet.nl/log/access%d-%m-%Y 86400" vhost_combined env=!dontlog
    ErrorLog "|/usr/bin/rotatelogs /var/www/salamanders.wasietsmet.nl/log/error%d-%m-%Y 86400"

</VirtualHost>

Nu alleen nog Apache2 op de hoogte stellen:

a2ensite salamanders*
service apache2 reload

En het werkt.

De links:

https://www.leaseweb.com/labs/2014/12/tutorial-apache-2-4-transparent-reverse-proxy/
https://www.howtoforge.com/setenvif_apache2
https://www.jamescoyle.net/how-to/116-simple-apache-reverse-proxy-example