Du brauchst einen VirtualHost für Port 80 und für Port 443.
Aber ich steig jetzt nicht mehr ganz durch bei dir.
Also du hast einen Router mit zwei Port forwarding Regeln. Die Ports 80 und 443 hast du weitergeleitet auf die Ports 80 und 443 deines PCs.
Dieser PC hat einen Apachen auf Port 80 und 443 laufen und dieser soll dann Proxy zu deiner PB-Anwendung spielen, die auf dem selben PC läuft?
Zunächst solltest du sichergehen, dass dein Apache überhaupt auf den Port 443 hört. Unter einem Ubuntu gibt es dafür diese Datei:
/etc/apache2/ports.conf
Code: Alles auswählen
Listen 80
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
An ihr erkennt man, dass der Apache nur auf Port 443 läuft, wenn das ssl-Module aktiv ist. Wenn man sich nicht sicher ist, muss man es aktivieren. z.B. so:
Dann solltest du z.B. folgende Datei anlegen:
/etc/apache2/sites-available/doko-lounge.selfhost.eu.conf (Du hattest hier einen Tippfehler. Ich habe - durch . ersetzt)
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
# 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>
Danach aktivierst du die Seite und startest den Apachen neu.
Code: Alles auswählen
sudo a2ensite doko-lounge.selfhost.eu.conf
sudo systemctl restart apache2.service
Falls du das ganze unter Windows machst, musst du selbst herausfinden, wo diese Dateien alle liegen und ob die Pfade stimmen. Ich habe einfach mal geraten.