Fix: WebSocket-Verbindungen über Apache-Proxy routen

Apache-Konfiguration:
- Füge WebSocket-Proxy für /ws/ Pfad hinzu
- Leite WebSocket-Upgrade-Header korrekt weiter

Frontend-Konfiguration:
- Socket.io verwendet jetzt VITE_API_BASE_URL (über /socket.io/ Proxy)
- Daemon WebSocket verwendet wss://www.your-part.de/ws
- Chat WebSocket verwendet wss://www.your-part.de/ws

Dies löst die 'operation is insecure' Fehler und ermöglicht
WebSocket-Verbindungen über HTTPS.
This commit is contained in:
Torsten Schulz (local)
2025-09-03 20:01:52 +02:00
parent d55449ff2c
commit 5352dd4ac9
3 changed files with 15 additions and 5 deletions

View File

@@ -1,5 +1,5 @@
VITE_API_BASE_URL=https://www.your-part.de VITE_API_BASE_URL=https://www.your-part.de
VITE_TINYMCE_API_KEY=xjqnfymt2wd5q95onkkwgblzexams6l6naqjs01x72ftzryg VITE_TINYMCE_API_KEY=xjqnfymt2wd5q95onkkwgblzexams6l6naqjs01x72ftzryg
VITE_DAEMON_SOCKET=wss://www.your-part.de:2020 VITE_DAEMON_SOCKET=wss://www.your-part.de/ws
VITE_CHAT_WS_URL=wss://www.your-part.de:1235 VITE_CHAT_WS_URL=wss://www.your-part.de/ws

View File

@@ -85,8 +85,8 @@ const store = createStore({
if (currentSocket) { if (currentSocket) {
currentSocket.disconnect(); currentSocket.disconnect();
} }
console.log('🔌 Initializing Socket.io connection to:', import.meta.env.VITE_DAEMON_SOCKET); console.log('🔌 Initializing Socket.io connection to:', import.meta.env.VITE_API_BASE_URL);
const socket = io(import.meta.env.VITE_DAEMON_SOCKET, { const socket = io(import.meta.env.VITE_API_BASE_URL, {
secure: true, secure: true,
transports: ['websocket', 'polling'] transports: ['websocket', 'polling']
}); });
@@ -103,7 +103,7 @@ const store = createStore({
socket.on('connect_error', (error) => { socket.on('connect_error', (error) => {
console.error('❌ Socket.io connection error:', error); console.error('❌ Socket.io connection error:', error);
console.error('❌ URL attempted:', import.meta.env.VITE_DAEMON_SOCKET); console.error('❌ URL attempted:', import.meta.env.VITE_API_BASE_URL);
}); });
commit('setSocket', socket); commit('setSocket', socket);

View File

@@ -26,6 +26,16 @@
ProxyPass "/socket.io/" "http://localhost:2020/socket.io/" ProxyPass "/socket.io/" "http://localhost:2020/socket.io/"
ProxyPassReverse "/socket.io/" "http://localhost:2020/socket.io/" ProxyPassReverse "/socket.io/" "http://localhost:2020/socket.io/"
# WebSocket-Proxy für Daemon-Verbindungen
ProxyPass "/ws/" "ws://localhost:2020/"
ProxyPassReverse "/ws/" "ws://localhost:2020/"
# WebSocket-Upgrade-Header
RewriteEngine on
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule ^/ws/(.*)$ "ws://localhost:2020/$1" [P,L]
ErrorLog /var/log/apache2/yourpart.error.log ErrorLog /var/log/apache2/yourpart.error.log
CustomLog /var/log/apache2/yourpart.access.log combined CustomLog /var/log/apache2/yourpart.access.log combined