Zum Zeitpunkt als ich dieses Tutorial erstellt habe, funktionierte keiner der Lösungen auf https://phantombot.dev um seinen Bot mittels richtigem SSL Zertifikat abzusichern. Bei mir machte das selbst erstelltes Zertifikat Probleme, weil Kaspersky Internet Security nach 30 Minuten einfach die Verbindung getrennt hat (hätte man sicherlich am Kaspersky einstellen können, aber das eigentliche „Problem“ ist ja das selbst erstellte Zertifikat).
Ich gehe davon aus, dass ihr Apache2 bereits installiert habt. Wenn nicht gibt es dazu genügend Anleitungen. Stellt sicher dass ihr die benötigten Module für Apache2 geladen habt:
a2enmod ssl a2enmod proxy a2enmod proxy_http a2enmod proxy_wstunnel a2enmod rewrite
Erstellt dann eine vHost Datei oder fügt den Code an eine eurer bestehenden vHosts Dateien an. In meinem Fall kopiere ich die Konfiguration nach
/etc/apache2/sites-available/000-default.conf
Hier die Konfiguration:
<VirtualHost *:80>
ServerName bot.yourdomain.de
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
<VirtualHost *:443>
ServerName bot.yourdomain.de
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/bot.yourdomain.de/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/bot.yourdomain.de/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/bot.yourdomain.de/fullchain.pem
SSLProxyEngine On
ProxyRequests On
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
ProxyPass "/ws/" "wss://127.0.0.1:25000/ws/"
ProxyPassReverse "/ws/" "wss://127.0.0.1:25000/ws/"
ProxyPass "/" "https://127.0.0.1:25000/"
ProxyPassReverse "/" "https://127.0.0.1:25000/"
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Im Anschluss wird Apache2 neu gestartet. Achtet natürlich drauf, dass euer Phantombot im Hintergrund weiter läuft. Ihr könnt dies prüfen indem ihr im Browser folgende URL aufruft:
http://bot.deinedomain.de:25000
Ihr solltet nun wieder zum Webinterface eures Bots kommen, allerdings ist das Zertifikat nicht gültig, da hier das selbst signierte verwendet wird.
Wenn alles geklappt hat ist euer Bot nun künftig unter folgender Domain mit einem gültigen Letsencrypt Zertifikat erreichbar:
https://bot.deinedomain.de