Nachdem ich seit geraumer Zeit Node.js für mich im Backend entdeckt habe, habe ich mir eine voll umfängliche Apache2 Konfiguration zusammengeschustert, um meine Node-Webserver über KeyHelp lazufen zu lassen.
Die wollte ich nur mal mit euch teilen:
Code: Select all
<IfModule mod_proxy.c>
ProxyPass /.well-known/acme-challenge !
</IfModule>
Alias /.well-known/acme-challenge /home/keyhelp/www/.well-known/acme-challenge
ProxyPass / http://127.0.0.1:3030/
ProxyPassReverse / http://127.0.0.1:3030/
# Required for websockets
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
RewriteRule .* ws://localhost:4567%{REQUEST_URI} [P]
# Required to tell its external port
RequestHeader set X-Forwarded-Port "443"
RequestHeader set X-Forwarded-Proto "https"
ändert den Port 3030 zu eurem benutzen Port. z.B 6666:
Code: Select all
ProxyPass / http://127.0.0.1:6666/
ProxyPassReverse / http://127.0.0.1:6666/
Code: Select all
RewriteRule .* ws://localhost:4567%{REQUEST_URI} [P]
Eingefügt werden muss das Snippet unter:
Code: Select all
Domains -> example.com -> Optionen -> Apache-Einstellungen
Solltet ihr diese Einstellung nicht finden, liegt es sehr wahrscheinlich daran, dass ihr nicht als Admin auf die Domain-Einstellungen zugreift. Also nochmal mit dem Admin-KeyHelp-User probieren.
Als Zertifikat kann ein Let's-Encrypt-Zertifikat verwendet werden.
Nach wenigen Sekunden oder Minuten sollte das Zertifikat und der Reverse-Proxy funktionieren.
CORS-Einstellungen konnte ich so auch alle via Node-Server direkt einstellen und nicht mehr über Apache2.