Aquacontrol over SSL.

Het 5-stappenplan:

We hebben in dit voorbeeld al een werkende VirtualHost voor de site salamanders.wasietsmet.nl op poort 80.

  1. Installeer de certificaten via de CertBot van Let’sEncrypt.
    De 7 lokale virtualhosts werden hier allemaal netjes automagisch van een SSL certificaat voorzien.
    (Ja echt zo simpel.)
    Als voorbeeld nemen we de salamander controller.
    Daar maakt de CertBot voor de SSL (https) site iets van (in webmin) als het bestand
    salamanders.wasietsmet.nl-le-ssl.conf:

    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
    SetEnvIf Remote_Addr "192\.168\.2\.254" 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"
    
    SSLCertificateFile /etc/letsencrypt/live/films.wasietsmet.nl/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/films.wasietsmet.nl/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf
    

    Gewoon de ouwe conf, plus de laatste drie regels.
    Prima gedaan CertBot, hoef ik lekker niks meer aan te doen.
    Stap 1 nu al klaar!

  2. Zorg dat de niet SSL site de volgende conf heeft
    salamanders.wasietsmet.nl.conf

    Servername salamanders.wasietsmet.nl
    
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
    

    Dit om alle links die naar http content wijzen automagisch naar de https content door te sturen.

  3. Installeer voor de zekerheid de mod_rewrite Apache module.
    Die was hier niet standaard geïnstalleerd.

    sudo a2enmod rewrite
    
  4. Forward TCP poort 443 in je router naar de server.
  5. Reload Apache zodat de nieuwe instellingen worden toegepast.
    sudo /etc/init.d/apache2 restart
    

 

Klaar!

De links:

Rewrite rule.[stackoverflow.com]

CertBot[certbot.eff.org]