diff --git a/yourpart-https.conf b/yourpart-https.conf index 67d9a1e..6a418ab 100644 --- a/yourpart-https.conf +++ b/yourpart-https.conf @@ -24,34 +24,43 @@ RequestHeader set X-Forwarded-Proto "https" AllowEncodedSlashes NoDecode - # www Redirect (muss zuerst kommen, aber nicht für WebSocket-Pfade) + # www Redirect (muss zuerst kommen, aber nicht für Proxy-Pfade) RewriteEngine on RewriteCond %{SERVER_NAME} =your-part.de - RewriteCond %{REQUEST_URI} !^/socket\.io/ - RewriteCond %{REQUEST_URI} !^/ws/ + RewriteCond %{REQUEST_URI} !^/(api|socket\.io|ws)/ RewriteRule ^ https://www.%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent] - # API-Requests an Backend weiterleiten - ProxyPass "/api/" "http://localhost:2020/api/" - ProxyPassReverse "/api/" "http://localhost:2020/api/" + # API-Requests an Backend weiterleiten (Location-Block hat höhere Priorität) + + ProxyPass "http://localhost:2020/api/" + ProxyPassReverse "http://localhost:2020/api/" + - # Socket.io: WebSocket-Upgrade (muss VOR ProxyPass stehen!) - RewriteCond %{HTTP:Upgrade} websocket [NC] - RewriteCond %{HTTP:Connection} upgrade [NC] - RewriteRule ^/socket.io/(.*)$ "ws://localhost:2020/socket.io/$1" [P,L] + # Socket.io: WebSocket und HTTP mit Location-Block + + # WebSocket-Upgrade + RewriteEngine on + RewriteCond %{HTTP:Upgrade} websocket [NC] + RewriteCond %{HTTP:Connection} upgrade [NC] + RewriteRule .* "ws://localhost:2020%{REQUEST_URI}" [P,L] + + # HTTP-Fallback für Polling + ProxyPass "http://localhost:2020/socket.io/" + ProxyPassReverse "http://localhost:2020/socket.io/" + - # Socket.io: HTTP-Fallback für Polling - ProxyPass "/socket.io/" "http://localhost:2020/socket.io/" - ProxyPassReverse "/socket.io/" "http://localhost:2020/socket.io/" - - # Daemon: WebSocket-Upgrade (muss VOR ProxyPass stehen!) - RewriteCond %{HTTP:Upgrade} websocket [NC] - RewriteCond %{HTTP:Connection} upgrade [NC] - RewriteRule ^/ws/(.*)$ "ws://localhost:4551/$1" [P,L] - - # Daemon: HTTP-Fallback (sollte eigentlich nicht benötigt werden) - ProxyPass "/ws/" "http://localhost:4551/" - ProxyPassReverse "/ws/" "http://localhost:4551/" + # Daemon: WebSocket mit Location-Block + + # WebSocket-Upgrade + RewriteEngine on + RewriteCond %{HTTP:Upgrade} websocket [NC] + RewriteCond %{HTTP:Connection} upgrade [NC] + RewriteRule .* "ws://localhost:4551%{REQUEST_URI}" [P,L] + + # HTTP-Fallback + ProxyPass "http://localhost:4551/" + ProxyPassReverse "http://localhost:4551/" + ErrorLog /var/log/apache2/yourpart.error.log CustomLog /var/log/apache2/yourpart.access.log combined