[ TUTORIAL / BLUEPRINT] KeyHelp Apache2 als Reverse-Proxy für Node.js mit SSL
Posted: Mon 11. Oct 2021, 21:01
Hallo zusammen!
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:
Je nach Port müsst ihr die folgenden beiden Zeilen anpassen,
ändert den Port 3030 zu eurem benutzen Port. z.B 6666:
zusätzlich dazu solltet ihr bei der Verwendung von Websockets folgende Zeile beachten:
Dort muss ggf. auch der Port angepasst werden.
Eingefügt werden muss das Snippet unter:
Bei HTTP sowie HTTPS.
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.
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.