# Apache-Konfiguration für tt-tagebuch.de mit WebSocket-Support # # WICHTIG: Folgende Module müssen aktiviert sein: # sudo a2enmod proxy # sudo a2enmod proxy_http # sudo a2enmod proxy_wstunnel # sudo a2enmod rewrite # sudo a2enmod headers # sudo systemctl restart apache2 ServerName tt-tagebuch.de ServerAlias www.tt-tagebuch.de DocumentRoot /var/www/tt-tagebuch.de Options Indexes FollowSymLinks AllowOverride All Require all granted ErrorLog ${APACHE_LOG_DIR}/tt-tagebuch.de_error.log CustomLog ${APACHE_LOG_DIR}/tt-tagebuch.de_access.log combined SSLEngine on SSLCertificateFile /etc/letsencrypt/live/tt-tagebuch.de/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/tt-tagebuch.de/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf ProxyRequests Off # WebSocket-Proxy für Socket.IO # WICHTIG: Diese LocationMatch-Blöcke müssen VOR den anderen ProxyPass-Direktiven stehen # WICHTIG: mod_proxy_wstunnel muss aktiviert sein (sudo a2enmod proxy_wstunnel) # WebSocket-Upgrade erkennen und weiterleiten (wss:// -> ws://) # Verwende RewriteRule mit mod_rewrite für WebSocket-Upgrades RewriteEngine on RewriteCond %{HTTP:Upgrade} =websocket [NC] RewriteRule ^/?(.*) ws://localhost:3050/$1 [P,L] RewriteCond %{HTTP:Upgrade} !=websocket [NC] RewriteRule ^/?(.*) http://localhost:3050/$1 [P,L] ProxyPreserveHost On RequestHeader set X-Forwarded-Proto "https" RequestHeader set X-Real-IP %{REMOTE_ADDR}s RequestHeader set X-Forwarded-For %{REMOTE_ADDR}s ProxyTimeout 3600 # API-Routen ProxyPass /api http://localhost:3050/api ProxyPassReverse /api http://localhost:3050/api # Alle anderen Anfragen an den Backend-Server (für Frontend) ProxyPass / http://localhost:3050/ ProxyPassReverse / http://localhost:3050/