Ich dachte ich aktivire die Datei mit:
sudo a2ensite doko-lounge.selfhost.eu.conf
Und damit dachte ich auch, dass alle anderen *. conf Dateien ignoriert werden.
Das ist jetzt meine aktuelle doko-lounge.selfhost.eu.conf:
Code: Alles auswählen
<VirtualHost *:80>
ServerName doko-lounge.selfhost.eu
ServerAdmin mailadresse@example.com
# Falls jemand www. benutzt, schneide es ab.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ %{REQUEST_SCHEME}://%1%{REQUEST_URI} [L,NE,R=301]
<Location "/.well-known">
Require all granted
</Location>
# Hier muss der Pfad hin, in den Let's Encrypt Dateien anlegen darf
DocumentRoot /var/www/html
# Leite alle Zugriffe direkt auf HTTPS um
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/.well-known/(.*)
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
<Virtualhost *:443>
ServerName doko-lounge.selfhost.eu
ServerAdmin mailadresse@example.com
# Let's Encrypt Zertifikate laden
SSLCertificateFile /etc/letsencrypt/live/doko-lounge.selfhost.eu/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/doko-lounge.selfhost.eu/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/doko-lounge.selfhost.eu/fullchain.pem
# Konfiguriere die erlaubten SSL-Protokolle
SSLEngine On
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM
SSLHonorCipherOrder on
SSLCompression off
# Aktiviere HSTS und erlaube Frames nur vom selben Origin
Header always set Strict-Transport-Security "max-age=31536000;"
Header always set X-Frame-Options SAMEORIGIN
Header always set X-Content-Type-Options nosniff
# Das braucht man, damit die RemoteIP weitergegeben wird
#RemoteIPHeader X-Forwarded-For
ProxyPreserveHost On
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule ^/(.*) ws://127.0.0.1:1502/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule ^/(.*) http://127.0.0.1:1502/$1 [P,L]
ProxyPassReverse / http://127.0.0.1:1502/
# Das ist wichtig, damit der originale Servername an den Proxy weitergegeben wird
#ProxyPreserveHost On
#ProxyPass / http://127.0.0.1:1602/
#ProxyPassReverse / http://127.0.0.1:1602/
</VirtualHost>
Damit wird eine nixt existierende Seite ordnungsgemäß verschlüsselt, es wird aber kein Websocket weitergeleitet.
Brauche ich eigentlich den VirtualHost auf Port 80?
Schließlich geht es ja um die verschlüsselte Adresse.
Soll es wirklich ws://127.0.0.1:1502/$1 [P,L] und nicht wss://127.0.0.1:1502/$1 [P,L] heissen?
Es funktioniert jedenfalls nicht.
Mit den Log-Meldungen kann ich leider nichts anfangen.
Ich programmiere nur noch mit Linux.
Linux Mint 21.x