Spring Security for WebSocket - CSRF komplett konfigurieren, Session-Erstellung IF_REQUIRED für WebSocket Handshake aktivieren
CSRF für /ws/** Endpunkte aussetzen und die Sicherheitskonfiguration vereinfachen, um SockJS /ws/info 405 Fehler zu beheben
Explizit erlauben GET/POST/HEAD-Methoden für /ws/** Endpoints, um SockJS /ws/info 405 Fehler zu beheben
Entfernen ungültige Methodenaufrufe, die Kompilierungsfehler verursachen (getId auf MediaSession, getStatusCode auf ServerHttpResponse)
WebSocket Middleware und ServerTransport zu IngressRoute hinzufügen
- Medien-websocket-Upgrade Middleware für WebSocket Upgrade Header hinzugefügt - Medien-Websocket-Transport hinzugefügt, um HTTP/2 zu deaktivieren (WebSocket er...
WebSocket Live-Nachrichten-Lieferung - ChatMessageHandler-Abonnement deaktivieren, Logging verbessern
- Behinderte ChatMessageHandler Abonnement für chat.session. - Verbesserte WebSocketConfig-Logging auf /app/chat/subscribe messages mit detaillierter Payload/He...
Verwenden Sie einzigartige NATS-Verbrauchernamen pro Chat-Sitzung - Jede Sitzung verwendet jetzt den Verbrauchernamen: Chat-Verbraucher-{sessionGuid' - Verhindert Verbraucherkonflikte, wenn mehrere Sitzungen aktiv sind - Behebt Websocket Live-Messaging-Problem, bei dem Nachrichten nicht zugestellt wurden
WebSocket persistente Verbindung mit aggressiven Keepalive
Idle Timeout auf 0 gesetzt, Herzschlag 20s, Trennung Verzögerung 30s, Match Frontend Timing
STOMP Frame Logging hinzufügen, um Verbindungsprobleme zu diagnostizieren
TomcatConnectorCustomizer hinzufügen, um SSL keystore config zu erzwingen
- Spring Boot's application.yml SSL config wird nicht angewendet - Verwenden Sie TomcatConnectorCustomizer, um keystore programmatisch zu setzen - Erzwingt Stec...
Hardcode-SSL-Einstellungen in ConfigMap für die Produktion
- Entfernte Umgebung variable Platzhalter - Hardcoded Port 8443, SSL aktiviert, keystore path - Behebt Spring Boot nicht richtig lösen env vars
Korrigieren Spring Boot SSL Umgebungsnamen
- SSL_ENABLED in SERVER_SSL_ENABLED geändert - Geändert SSL_KEY_STORE auf SERVER_SSL_KEY_STORE - Geändert SSL_KEY_STORE_PASSWORD auf SERVER_SSL_STORE_PASSWORD -...
Fügen Sie nach Handshake Logging zu WebSocket Probleme zu diagnostizieren
Einfach nur auf HTTPS:8443 eins, Dual Port config entfernen
- MediaService läuft NUR am Port 8443 (HTTPS) - Kein Traefik-Routing mehr für MediaService - Entfernt DualPortConfig Komplexität - Alle Datenverkehr (API + WebS...
Verwenden Sie SSLHostConfig API für Tomcat SSL Konfiguration
- Verwenden Sie SSLHostConfig und SSLHostConfigCertificate (korrekte Tomcat API) - Konfigurieren Zertifikat via ************ - Fehler bei der Kompilierung mit s...
SetAttribute für Tomcat SSL-Konfiguration verwenden
- Wechselte von setKeystoreFile/Pass/Type/Alias zu setAttribute - Tomcat 10+ verwendet setAttribute für SSL-Eigenschaften - Fehler bei der Kompilierung behebt
Führen Sie MediaService auf BOTH-Ports 80 (HTTP API) und 8443 (HTTPS WebSocket)
- Reverted service.yaml und ingressroute.yaml zu verwenden Port 80 - Entfernt gezwungen SERVER_PORT und SSL_ENABLED env vars - DualPortConfig zum programmatisch...
Verwenden Sie NodePort 30843 statt HostPort für WebSocket
- hostPort kann durch Firewall-Regeln blockiert werden - NodePort 30843 ist im gültigen Bereich (30000-32767) - Browser verbindet sich mit externem Port 8443 - ...
SSL-Konfiguration zu k8s ConfigMap hinzufügen
- ConfigMap fehlte SSL config von application.yml - Server.ssl-Einstellungen mit Umgebungsvariablen-Unterstützung hinzugefügt - Matches lokale application.yml K...
Verwenden Sie hostPort statt NodePort für 8443
- NodePort Bereich ist 30000-32767, kann nicht verwenden 8443 - HostPort verwenden, um direkt an den Host-Port 8443 zu binden - Entfernt service-websocket.yaml
MediaService auf Port 8443 für WebSocket über HTTPS/HTTP1.1
- NodePort-Service auf 8443 für direkten WebSocket-Zugang hinzugefügt (übergeht Traefik) - Wildcard-kamocrm-com SSL Zertifikat - Init container konvertiert PEM ...
Wiederherstellen HTTP/2 für WebSockets (RFC 8441 Unterstützung)
- WebSockets CAN funktioniert über HTTP/2 via RFC 8441 - Entfernt TLSOption (nicht erforderlich) - Entfernte ServerTransport-Referenz (mit HTTP/2 arbeiten) - Wi...
Verwenden Sie explizite Host() für /ws-Route, um TLSOption zu aktivieren
- Geänderte /ws-Route von HostRegexp nach Host(media.kamocrm.com) - TLSOption kann nur auf explizite Hosts (nicht regex) angewendet werden - ALPN-Verhandlungen ...
HTTP/1.1 für MediaService NUR über TLSOption zwingen
- Erstellt media-tls-http1 TLSOption mit alpnProtocols: [http/1.1] - NUR in der Media-Route IngressRoute verwiesen - Beeinträchtigt andere Traefik-Routen nicht ...
Separate /ws-Route für WebSocket, HTTP/2 für API behalten
- Zwei Routen hinzugefügt: /ws für WebSocket (höhere Priorität), Rest für API - Only /ws nutzt media-websocket-transport (HTTP/2 deaktiviert) - API-Routen könne...
Verwenden Sie Host() anstelle von HostRegexp() für media-route
- Vereinfacht auf Host(media.kamocrm.com) - Vermeidet regex Flucht Probleme mit Backticks - Tests zeigen Route funktioniert mit einfachen Host-Match
Force HTTP/1.1 via TLSOption für WebSocket-Kompatibilität
- Erstellt TLSOption zu deaktivieren HTTP/2 ALPN-Verhandlung - Erzwingt Browsern, HTTP/1.1 für media.kamocrm.com verwenden - WebSocket Upgrades erfordern HTTP/1...
CORS Middleware zur Medien-Route für Cross-Ursprung WebSocket hinzufügen
- Hinzugefügt cors Middleware, um Cross-Herrnahme-Verbindungen zu ermöglichen - Ermöglicht WebSocket-Verbindungen von intern.* zu Medien.* - Ermöglicht alle Urs...
Entfernen @kubernetescrd suffix von ServernTransport-Referenz
- Traefik-Fehler: Cross-Namespace-Format nicht erlaubt, wenn crossnamespace deaktiviert - IngressRoute und ServersTransport befinden sich im gleichen Namen (kam...
WebSocket-Signalgebung für Peer-to-Peer-Anrufe hinzufügen
- WebRTCSignalingController für die Rufsignalisierung hinzugefügt - Griffe Angebot/Antwortaustausch über STOMP - Forwards ICE Kandidaten zwischen Gleichaltrigen...
Janus WebRTC-Integration hinzufügen
- WebRTCController für Token-Generierung und Call Management hinzugefügt - Konfigurierte Janus API URL und Geheimnisse (Api, Token, Admin) - Konfigurierte STUN/...
Verwenden Sie den vollständigen Kubernetes CRD Providernamen für ServersTransport-Referenz
Traefik benötigt das @kubernetescrd Suffix, wenn CRD-Ressourcen wie ServersTransport verwendet werden.
Vereinfachen Sie MediaService WebSocket IngressRoute Konfiguration
Entfernen Sie Medien-Websocket-Upgrade Middleware, die Header gezwungen wurde und verursacht WebSocket Handshake Probleme. Traefik übernimmt WebSocket-Upgrade a...
End-Anker zu WebSocket Pfad regex pattern hinzufügen
- Fügen Sie $ zu Ende von PathRegexp, um genaue Übereinstimmung zu gewährleisten - Behebt regex Parsing Fehler in Traefik - /ws/info funktioniert jetzt (200 OK)...
Nur WebSocket Upgrade Middleware auf tatsächliche WebSocket-Pfade anwenden
- Routenbegegnung von PathPrefix(/ws/) auf ************ - /ws/info ist eine reguläre HTTP-Anforderung, kein WebSocket-Upgrade - Das Hinzufügen von Upgrade-Heade...
separate Route für WebSocket-Pfade mit Upgrade-Mittelware hinzufügen
- Erstellen separater Route Matching /ws/** Pfade mit media-websocket-upgrade Middleware - Dies stellt Upgrade sicher: Websocket-Header wird für WebSocket Upgra...
Verwenden Sie ServersTransport, um HTTP/2 für WebSocket-Verbindungen zu deaktivieren
- Erstellen ServersTransport-Ressource mit deaktivierenHTTP2: true - Referenz ServerTransport in IngressRoute Service-Konfiguration - Entfernen Sie ungültig dea...
HTTP/2 für MediaService Backend-Verbindung ins Deaktivable
- Hinzufügen von disableHTTP2: getreue erzwingende HTTP/1.1 für Backend-Verbindungen - HTTP/2 Extended CONNECT konvertiert Upgrade-Header nicht richtig - WebSoc...
IngressRoute-Service-System für WebSocket-Unterstützung konfigurieren
- Set Schema: http, um eine ordnungsgemäße HTTP/1.1-Behandling für WebSocket-Upgrades zu gewährleisten - HTTP/2 Extended CONNECT benötigt korrekte Konvertierung...
Entfernen Sie ungültigen Handshake-Handler und beheben SockJS-Konfiguration
- Entfernen Sie ungültig DefaultHandshakeHandler override (Methode existiert nicht) - Entfernen Sie ungültigen setSupressCors-Call (Methode existiert nicht) - H...
WebSocket Handshake-Logging und SockJS-Konfiguration hinzufügen
- Handshake-Handler und Abfangprotokoll hinzufügen, um WebSocket-Verbindungsprobleme zu diagnostizieren - SockJS konfigurieren, um CORS zu unterdrücken (von Spr...
Entfernen Sie Medien-cors Middleware von IngressRoute, um WebSocket-Verbindungen zu ermöglichen
- Media-cors Middleware klärte CORS-Header, die mit WebSocket Upgrades gestört - WebSocket-Verbindungen erfordern direkten Durchlauf ohne Header-Modifikation - ...
Insidene Spring Security Muster /ws/**/info entfernen
- PatternParseException: Keine Musterdaten mehr erlaubt nach {*... oder ** - /ws/** deckt bereits alle Wege unter /ws einschließlich /ws/info ab - Dies verursac...
Wie, was Sie sehen Versand?
Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.