SockJS-Transporte konfigurieren, um HTTP/2 WebSocket-Upgrade-Probleme zu bewältigen
- Konseit konfigurieren SockJS Transportauftrag WebSocket bevorzugen, dann Fallback zu xhr-streaming/xhr-polling - HTTP/2 WebSocket Upgrades können fehlgeschlag...
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...
Medien-Kors-Medienmittelware auf MediaService IngressRoute
- Mediencors Middleware zur Genehmigung von CORS-Headern für WebSocket-Verbindungen - Passt das Muster für Themendomänen
Medien-cors Middleware für Mediendomäne CORS-Unterstützung hinzufügen
- Hinzufügen von media-cors Middleware Matching-Theme-Kors-Konfiguration - Ermöglicht CORS-Header für media.{domain'-Anfragen
Explizit erlauben OPTIONEN-Anträge für CORS Preflight
- Eine explizite Genehmigung für OPTIONS-Methode auf allen Wegen hinzufügen - Eine ausdrückliche Genehmigung für /ws/info endpoint (SockJS Handshake) hinzufügen...
CORS-Konfiguration für WebSocket-Verbindungen freizügiger machen
- Explizit mit '*' Wildcard für Herkunft, Methoden und Header - WebSocket-bezogene Header zu exponierten Headern hinzufügen - Logging hinzufügen, um CORS-Konfig...
Logging hinzufügen und konfigurieren Sie SockJS Herzschlag/Disconnect-Einstellungen
- Logging hinzufügen, um WebSocket-Endpunkt-Registrierung zu überprüfen - Konfigurieren SockJS Herzschlag und Trennungsverzögerung - Dies sollte helfen zu diagn...
Revert IngressRoute Änderungen - Traefik behandelt WebSocket automatisch
Sicherstellen, dass Nachrichtenroute von Next.js erkannt wird
- Hinzugefügt Protokollierung zu überprüfen Route wird getroffen - Route-Datei existiert und Struktur ist korrekt für Next.js 15
Nicht vorhandene 'aktive' Eigenschaft von STOMP Client Logging entfernen
- STOMP Client hat keine 'aktive' Immobilie - Nur überprüfen 'verbundene' Eigenschaft, die der richtige Zustandsindikator ist
Entfernen Sie nicht unterstützt aufWebSocketError-Handler von STOMP Client
- onWebSocketErr ist keine gültige Eigenschaft in ClientOptions - SockJS Fehlerhandler (onerror, onclose) bieten bereits Fehlerbehandlung
Umfassend WebSocket Fehlerbehandlung und Protokollierung hinzufügen
- SockJS-Fehlerhandgeräte (onopen, onerror, onclose) hinzugefügt, um Verbindungsausfälle zu fangen - Zusätzliche Verbindungszeiterkennung (10 Sekunden) zur Erke...
Entfernen Sie doppelte WebSocket Endpoint-Registrierung und verbessern Sie die Protokollierung
- Entfernte Duplikat /ws Endpunkt-Registrierung (SockJS behandelt bereits native WebSocket) - Zusätzliche Nullprüfung für Nutzlast in subscribeToSession - Dies ...
Intenteniger Federsicherheitspfad Muster entfernen /ws/**/websocket
- Spring Security erlaubt keine Pfadsegmente nach /** Muster - /ws/** passt bereits alle Pfade unter /ws inklusive websocket Endpoints - Dies behebt PatternPars...
Entfernen Sie fehlerhafte HTTPS-Agent Workaround
- Umgedrehte Änderungen, die Zertifikat-Validierung umgangen - Zertifikate werden von Auto-Zertifikate-Service ausgestellt (Let's Encrypt), nicht selbst signier...
Verwenden Sie HTTPS mit Agenten, der selbstsignierte Zertifikate akzeptiert
- Zurückgekehrt, um immer HTTPS (nicht HTTP) zu verwenden - HTTPS-Agent mit rejectUnauthorized hinzugefügt: falsch für selbstsignierte Zertifikate - So können s...
Verwenden Sie Kubernetes Servicenamen für MediaService, um SSL-Cert-Probleme zu vermeiden
- Server-Seite Next.js Routen jetzt verwenden ************ - Dies vermeidet selbstsignierte Zertifikatsfehler bei der Verbindung zu https://media.kamocrm.com - ...
Entfernen Sie alte /api/security/media/ Routen, die Anfragen abfangen
- Alte Routen wurden an APIService weitergeleitet, der keine Medienendpunkte mehr hat - Alle Medienanfragen sollten über /api/media/ Routen direkt zu MediaServi...
Fügen Sie detaillierte Fehlerprotokollierung für MediaService Sitzungserstellung hinzu
- Log MediaService URL wird aufgerufen - Log Response Header - Verbesserte Fehlermeldung mit vollständigen Fehlerdaten - URL in Fehlermeldung für Fehlersuche ei...
Rück zu Aktionen/checkout@v4, um andere Next.js Projekte zu vergleichen
- Entfernen Sie komplexe manuelle Kassenlogik, die hängt - Verwenden Sie Standard-Aktionen/checkout@v4 wie Kamo-Logo und Kamo-register - Vereinfachen Docker bau...
Verwenden Sie flachen Klon mit Timeout, um das Hängen zu verhindern
- Verwenden Sie --Tiege 1 für schnelleres Klonen - Timeout hinzufügen (120s für flach, 300s für voll) - Fallback zum vollen Klon, wenn flache Fehler - spezifisc...
Wechseln in ein gültiges Verzeichnis vor git-Klon, um einen funktionierenden Verzeichnisfehler zu vermeiden
- Wechseln zu /tmp oder / vor dem Entfernen/Klonenarbeitsplatz - Nur entfernen Verzeichnis, wenn es existiert, aber nicht ein git repo - Verhindert 'Fehler in d...
Verwenden Sie hardcoded repository URL und setzen Sie GITHUB_WORKSPACE env var
- Verwenden Sie direktes Repository URL, um DNS/Hostname-Auflösungsprobleme zu vermeiden - GITHUB_WORKSPSPACE Umgebungsvariable für nachfolgende Schritte setzen...
Verwenden Sie git-Klon direkt, anstatt sich auf leeren Arbeitsbereich zu verlassen
- Klon-Repository mit git direkt mit Projektarchiv-URL - Bearbeiten Sie sowohl frische Klon- als auch vorhandene Repository-Fälle - Arbeitsverzeichnis für Docke...
Vereinfachen Sie alle Kassenschritte - entfernen Sie git-Operationen, die hängen
- Entfernen Sie git holen/reset/clean von den Einsatzarbeiten - Forgejo Läufer hat bereits Code ausgecheckt - Nur überprüfen GITHUB_WORKSPACE ist gültig
Vereinfachen Sie den Kassenschritt - entfernen Sie git-Klon, der hing
- Entfernen Sie git-Klon-Logik, die verursachte 20+ Minuten hängt - Forgejo Läufer hat bereits Code ausgecheckt, überprüfen Sie einfach Verzeichnis - Entfernen ...
Verbessern Sie Kasse und Docker bauen Kontext-Handling
- Fügen Sie richtiges Repository Klonen hinzu, wenn nicht bereits ausgecheckt - Verify Dockerfile existiert vor dem Bau - Verwenden Sie absolute Pfade für Docke...
Ersetzen Sie Aktionen/Checkout mit manueller git-Checkout, um DNS-Probleme zu vermeiden
- Aktionen/checkout@v4 durch manuelle git-Checkout-Befehle ersetzen - Forgejo Läufer hat bereits Code ausgecheckt, müssen nur sicherstellen, dass saubere Zustan...
'media' Subdomain zu auto-cert SUBDOMAINS für MediaService hinzufügen
- 'Med' zur SUBDOMAINS Liste in auto-cert-service.yaml hinzufügen - Aktiviert automatische SSL-Zertifikatserzeugung für media.{domain" Subdomains - Erforderlich...
WebSocket Unterstützung in IngressRoute (automatisch in Traefik)
Direkte MediaService-Routen über media.{domain" für WebSocket-Unterstützung hinzufügen
- Erstellen Sie neue /api/media/* Routen, die direkt an media weiterleiten.{domain - Diese Routen umgehen APIService, um sichere WebSocket-Verbindungen zu ermög...
Medien-/Chat-Funktionalität entfernen - zu MediaService verschoben
Protokollierung für Abonnement-Anfrage zum Backend hinzufügen
- Loggen Sie, wenn die Abonnementanfrage an /app/chat/subscribe gesendet wird - Hilft zu überprüfen, ob Abonnement-Anfragen das Backend erreichen
Detailliertes Protokollieren für die Abonnentenfunktion hinzufügen
- Log mit dem Namen angemeldet() und der aktuelle Verbindungszustand - Log Client Existenz und Verbindungsstatus - Hilft zu diagnostizieren, warum Abonnements n...
Explizit erlauben WebSocket Endpunkte in Spring Security
- Zusätzliche ausdrückliche GenehmigungAlle für /ws/** Endpunkte - WebSocket Upgrade-Anfragen benötigen eine explizite Genehmigung auch im Entwicklungsmodus - B...
Detaillierte Protokollierung für WebSocket-Abonnement-Anfragen hinzufügen
- Hinzufügen von Protokollierung zu verfolgen, wenn subscribeToSession aufgerufen wird - Protokolle Nutzlast und SessionGuid Extraktion - Logs Datenbank-Nachahm...
Fügen Sie detaillierte WebSocket Verbindung Logging
- Verbesserte Anmeldung für WebSocket-Verbindungserfolg/Versäumnis - Log-Verbindungsrahmen Details über erfolgreiche Verbindung - Detaillierte STOMP-Fehlerinfor...
Suche nach bestehenden Chat-Sitzungen durch Teilnehmer-Mitgliedschaft, nicht nur Sitzungsbesitzer
- Geänderte findOrCreateChatSession zu suchen MediaSessionMitglied Datensätze anstelle von MediaSession.member - Sucht nun Sitzungen, in denen der Schöpfer ein ...
Fügen Sie detailliertes Protokollieren für Nachricht-Mitglied ID Retrieval
- Protokollierung zur Trace-Mitglieder-ID für jede zurückgegebene Nachricht hinzugefügt - Loggt Mitglieder Klassennamen, um Proxy/Sturzprobleme zu erkennen - Lo...
JOIN FETCH hinzufügen, um Mitglied in Nachrichtenanfragen eifrig zu laden
- JOIN FETCH m.member zu beiden findBySessionAndIsRemovedFalse Abfragen hinzugefügt - Sichert, dass die Mitgliedsgesellschaft eifrig geladen wird, um faule Lade...
Wie, was Sie sehen Versand?
Alles kommt in Ihrem Arbeitsbereich für sich. Starten Sie mit dem kostenlosen Plan und lesen Sie diese Seite in einem Monat wieder.
