Refactor WebSocket and API configurations in yourpart-https.conf and yourpart-websocket-fixed.conf
- Removed outdated WebSocket handling from yourpart-https.conf for improved clarity. - Updated yourpart-websocket-fixed.conf to enable SSL and adjust WebSocket proxy settings. - Streamlined fallback logic in frontend store to ensure direct connection to the daemon on port 4551. - Enhanced logging for better debugging and monitoring of daemon connections.
This commit is contained in:
@@ -293,26 +293,13 @@ const store = createStore({
|
|||||||
|
|
||||||
// Wenn Umgebungsvariable nicht gesetzt ist oder leer, verwende Fallback-Logik
|
// Wenn Umgebungsvariable nicht gesetzt ist oder leer, verwende Fallback-Logik
|
||||||
if (!daemonUrl || (typeof daemonUrl === 'string' && daemonUrl.trim() === '')) {
|
if (!daemonUrl || (typeof daemonUrl === 'string' && daemonUrl.trim() === '')) {
|
||||||
// In Produktion: Verwende /ws/ über Nginx-Proxy (Port 443)
|
// Immer direkte Verbindung zum Daemon-Port 4551 (verschlüsselt)
|
||||||
if (isProduction) {
|
const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:';
|
||||||
const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:';
|
daemonUrl = `${protocol}//${hostname}:4551/`;
|
||||||
daemonUrl = `${protocol}//${hostname}/ws/`;
|
console.log('[Daemon] Verwende direkte Verbindung zu Port 4551');
|
||||||
console.log('[Daemon] Verwende Nginx-Proxy /ws/ über Port 443');
|
|
||||||
} else {
|
|
||||||
// Lokale Entwicklung: direkte Verbindung zum Daemon-Port 4551
|
|
||||||
const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:';
|
|
||||||
daemonUrl = `${protocol}//${hostname}:4551/`;
|
|
||||||
console.log('[Daemon] Verwende Fallback basierend auf Hostname, Protokoll und Port 4551');
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
// Wenn Umgebungsvariable gesetzt ist, aber in Produktion: Konvertiere Port 4551 zu /ws/
|
// Wenn Umgebungsvariable gesetzt ist, verwende sie direkt
|
||||||
if (isProduction && daemonUrl.includes(':4551')) {
|
console.log('[Daemon] Verwende Umgebungsvariable:', daemonUrl);
|
||||||
const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:';
|
|
||||||
daemonUrl = `${protocol}//${hostname}/ws/`;
|
|
||||||
console.log('[Daemon] Konvertiere Port 4551 zu /ws/ für Nginx-Proxy');
|
|
||||||
} else {
|
|
||||||
console.log('[Daemon] Verwende Umgebungsvariable');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log('[Daemon] Finale Daemon-URL:', daemonUrl);
|
console.log('[Daemon] Finale Daemon-URL:', daemonUrl);
|
||||||
|
|||||||
@@ -48,19 +48,6 @@
|
|||||||
ProxyPass "http://localhost:2020/socket.io/"
|
ProxyPass "http://localhost:2020/socket.io/"
|
||||||
ProxyPassReverse "http://localhost:2020/socket.io/"
|
ProxyPassReverse "http://localhost:2020/socket.io/"
|
||||||
</LocationMatch>
|
</LocationMatch>
|
||||||
|
|
||||||
# Daemon: WebSocket mit Location-Block
|
|
||||||
<LocationMatch "^/ws/">
|
|
||||||
# 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/"
|
|
||||||
</LocationMatch>
|
|
||||||
|
|
||||||
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
|
||||||
|
|||||||
@@ -1,31 +1,38 @@
|
|||||||
# /etc/apache2/sites-available/yourpart-websocket.conf
|
# /etc/apache2/sites-available/yourpart-websocket.conf
|
||||||
|
<IfModule mod_ssl.c>
|
||||||
<VirtualHost *:4551>
|
<VirtualHost *:4551>
|
||||||
ServerName www.your-part.de
|
ServerName www.your-part.de
|
||||||
|
|
||||||
|
# SSL aktivieren
|
||||||
|
SSLEngine on
|
||||||
|
Protocols http/1.1
|
||||||
|
|
||||||
# SSL-Konfiguration
|
# SSL-Konfiguration
|
||||||
Include /etc/letsencrypt/options-ssl-apache.conf
|
Include /etc/letsencrypt/options-ssl-apache.conf
|
||||||
SSLCertificateFile /etc/letsencrypt/live/www.your-part.de/fullchain.pem
|
SSLCertificateFile /etc/letsencrypt/live/www.your-part.de/fullchain.pem
|
||||||
SSLCertificateKeyFile /etc/letsencrypt/live/www.your-part.de/privkey.pem
|
SSLCertificateKeyFile /etc/letsencrypt/live/www.your-part.de/privkey.pem
|
||||||
|
|
||||||
# HTTP/2 deaktivieren
|
# Proxy-Einstellungen
|
||||||
Protocols http/1.1
|
|
||||||
|
|
||||||
# WebSocket-Proxy (unverschlüsselt zu Daemon)
|
|
||||||
ProxyPreserveHost On
|
ProxyPreserveHost On
|
||||||
ProxyRequests Off
|
ProxyRequests Off
|
||||||
|
AllowEncodedSlashes NoDecode
|
||||||
|
|
||||||
# WebSocket-Upgrade (muss VOR ProxyPass stehen)
|
# WebSocket-Upgrade (muss VOR ProxyPass stehen)
|
||||||
RewriteEngine On
|
RewriteEngine On
|
||||||
RewriteCond %{HTTP:Upgrade} websocket [NC]
|
RewriteCond %{HTTP:Upgrade} websocket [NC]
|
||||||
RewriteCond %{HTTP:Connection} upgrade [NC]
|
RewriteCond %{HTTP:Connection} upgrade [NC]
|
||||||
RewriteRule ^/?(.*) "ws://localhost:4551/$1" [P,L]
|
RewriteRule ^/?(.*) "ws://localhost:4552/$1" [P,L]
|
||||||
|
|
||||||
# Fallback für normale HTTP-Requests (falls nötig)
|
# Fallback für normale HTTP-Requests (falls nötig)
|
||||||
ProxyPass / http://localhost:2020/
|
ProxyPass / http://localhost:4552/
|
||||||
ProxyPassReverse / http://localhost:2020/
|
ProxyPassReverse / http://localhost:4552/
|
||||||
|
|
||||||
# CORS-Headers
|
# CORS-Headers
|
||||||
Header always set Access-Control-Allow-Origin "https://www.your-part.de"
|
Header always set Access-Control-Allow-Origin "https://www.your-part.de"
|
||||||
Header always set Access-Control-Allow-Methods "GET, POST, OPTIONS"
|
Header always set Access-Control-Allow-Methods "GET, POST, OPTIONS"
|
||||||
Header always set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept, Authorization"
|
Header always set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept, Authorization"
|
||||||
|
|
||||||
|
ErrorLog /var/log/apache2/yourpart-websocket.error.log
|
||||||
|
CustomLog /var/log/apache2/yourpart-websocket.access.log combined
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
|
</IfModule>
|
||||||
Reference in New Issue
Block a user