ServerAdmin webmaster@your-part.de ServerName your-part.de ServerAlias www.your-part.de DocumentRoot /opt/yourpart/frontend/dist DirectoryIndex index.html # Frontend statische Dateien AllowOverride None Options -Indexes +FollowSymLinks Require all granted # Fallback für Vue Router FallbackResource /index.html # Proxy-Einstellungen ProxyPreserveHost On ProxyRequests Off RequestHeader set X-Forwarded-Proto "https" AllowEncodedSlashes NoDecode # API-Requests an Backend weiterleiten ProxyPass "/api/" "http://localhost:2020/api/" ProxyPassReverse "/api/" "http://localhost:2020/api/" # WebSocket-Upgrade mit RewriteRule (muss VOR ProxyPass stehen!) RewriteEngine on # WebSocket-Upgrade für Socket.io RewriteCond %{HTTP:Upgrade} =websocket [NC] RewriteCond %{HTTP:Connection} =upgrade [NC] RewriteRule ^/socket.io/(.*)$ "ws://localhost:2020/socket.io/$1" [P,L] # WebSocket-Upgrade für Daemon RewriteCond %{HTTP:Upgrade} =websocket [NC] RewriteCond %{HTTP:Connection} =upgrade [NC] RewriteRule ^/ws/(.*)$ "ws://localhost:4551/$1" [P,L] # HTTP-Proxy für Socket.io (Fallback für Polling) ProxyPass "/socket.io/" "http://localhost:2020/socket.io/" ProxyPassReverse "/socket.io/" "http://localhost:2020/socket.io/" ErrorLog /var/log/apache2/yourpart.error.log CustomLog /var/log/apache2/yourpart.access.log combined HostnameLookups Off UseCanonicalName Off ServerSignature On # SSL-Konfiguration Include /etc/letsencrypt/options-ssl-apache.conf SSLCertificateFile /etc/letsencrypt/live/www.your-part.de/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.your-part.de/privkey.pem # www Redirect RewriteCond %{SERVER_NAME} =your-part.de RewriteRule ^ https://www.%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]