Utiliser NodePort 30843 au lieu de hostPort pour WebSocket
- hostPort peut être bloqué par des règles de pare-feu - NodePort 30843 est valable (30000-32767) - Le navigateur se connecte au port extérieur 8443 - Routeur v...
Ajouter la configuration SSL à k8s ConfigMap
- ConfigMap manquait la configuration SSL de application.yml - Paramètres de serveur.ssl ajoutés avec un support variable de l'environnement - Correspond à la c...
Utiliser hostPort au lieu de NodePort pour 8443
- La gamme de NodePort est de 30000-32767, ne peut pas utiliser 8443 - Utiliser hostPort pour se lier directement au port d'accueil 8443 - Enlever service-webso...
Supprimer la restriction de transport WebSocket uniquement pour la compatibilité HTTP/2
- L'API WebSocket du navigateur ne prend pas en charge HTTP/2 (RFC 8441 non implémenté) - Native WebSocket nécessite HTTP/1.1 Mise à niveau qui échoue sur HTTP/...
Utiliser l'Hôte() explicite pour /ws l'itinéraire pour activer TLSOption
- Changer l'itinéraire /ws de HostRegexp à Host(media.kamocrm.com) - TLSOption ne peut s'appliquer qu'à des hôtes explicites (et non au regex) - La négociation ...
Force HTTP/1.1 pour MediaService UNIQUEMENT via TLSOption
- Création de Media-tls-http1 TLSOption with alpnProtocols: [http/1.1 - Référencé UNIQUEMENT dans la route médiatique IngressRoute - N'affecte pas les autres it...
Itinéraire séparé/ws pour WebSocket, conserver HTTP/2 pour API
- Ajout de deux itinéraires: /ws pour WebSocket (priorité supérieure), repos pour l'API - Uniquement /ws utilise le transport par média-websocket (HTTP/2 désact...
Utiliser Host() au lieu de HostRegexp() pour la route multimédia
- Simplifié à Host (media.kamocrm.com) - Évite les problèmes de regex avec les backticks - Tests montrent que l'itinéraire fonctionne avec un simple match hôte
Force HTTP/1.1 via TLSOption pour la compatibilité WebSocket
- Création de TLSOption pour désactiver la négociation HTTP/2 ALPN - Forces de navigation pour utiliser HTTP/1.1 pour media.kamocrm.com - Les mises à niveau de ...
Désactiver la temporisation pour les connexions WebSocket
- Ajout de l'arrêt Tempêtre de 0 au point d'entrée Websecure - Empêche Traefik de fermer les connexions WebSocket en raison de l'inactivité - Correction des pro...
Utiliser le transport WebSocket uniquement (désactiver le vote XHR)
- Changement de transport SockJS de [websocket, xhr-streaming, xhr-polling) vers [websocket - Élimine la repli sur le sondage XHR - Forces de connexion WebSocke...
Supprimer la référence explicite de l'espace de noms de la fonction kamowsmedia
- Les deux services sont dans le même espace de noms (kamo) - Référence explicite de l'espace de noms non nécessaire - Évite les problèmes potentiels d'espace i...
Retirer /ws rewrite de next.config (maindu par Traefik)
- Réécriture Next.js pour /ws chemins - Le routage WebSocket est désormais géré au niveau Traefik IngressRoute - Traefik routes internal.kamocrm.com/ws
Demandes d'itinéraire/ws directement à MediaService via Traefik
- Ajout d'une route dédiée pour les chemins dans IngressRoute - Routes internal.kamocrm.com/ws - - Utilise les mêmes serveursTransport comme roulage multimédia ...
Autoriser /ws aux critères d'évaluation WebSocket sans redirection auth
- Ajout/chemin de la robe de dérivation de l'intergiciel - SockJS doit se connecter à /ws/info sans redirection - Les connexions WebSocket seront toujours en co...
Changer la connexion WebSocket à la même origine
- Passé de media.kamocrm.com à la même origine (internal.kamocrm.com) - Évite les problèmes de connexion WebSocket d'origine croisée - Ajout de la règle de rééc...
Supprimer le suffixe de l'utilisateur de la fonction de serveur
- Erreur Traefik: format inter-namespace non autorisé lorsque l'espace de croisement est désactivé - IngressRoute et ServersTransport sont dans le même espace d...
Supprimer les propriétés du codeur invalide de getDisplayMedia
- Utilisation d'une vidéo simple: c'est vrai pour le partage d'écran - La construction doit maintenant réussir
Résoudre l'erreur de construction - remplacer PhoneOff par CallEnd
- L'icône PhoneOff n'existe pas dans le matériel - Utilisation de CallEnd qui est l'icône MUI correcte - Suppression des fichiers dupliqués non utilisés (ChatBo...
Ports divisés pour éviter les conflits
- Relais de virage : 52000-65535 (13 536 ports) - Évite : Janus RTP (10000-49151) et WireGuard (51820-51821) - Pas de chevauchement entre les services
Ajuster la portée du port relais pour éviter les ports WireGuard/VPN
- Changement de port maximal de 65535 à 51800 pour éviter les conflits - Évite WireGuard sur UDP 51820 et d'autres services VPN le 51821 - Fournit 2 649 ports (...
Résoudre CrashLoopBackOff en fixant des sondes et des config
- Remplacer les sondes de santé basées sur le netstat par des douilles TCP (statétaire non disponible en coturn/coturn:l'image alpine la plus récente) - Supprim...
Utiliser le nom complet du fournisseur de la CRD de Kubernetes pour ServersRemarque
Traefik nécessite le suffixe de zkubernetescrd lorsqu'il s'agit de référencer des ressources CRD comme ServersTransport.
Simplifier la configuration MediaService WebSocket IngressRoute
Supprimer les logiciels interterminaux de média-websocket qui forçaient les en-têtes et causaient des problèmes de poignée de main WebSocket. Traefik gère autom...
Sautez le transport WebSocket dans SockJS pour éviter les problèmes HTTP/2
- Utiliser des transports xhr-streaming et xhr-polling au lieu de prise de vue en ligne - Ces transports fonctionnent avec HTTP/1.1 et HTTP/2 sans nécessiter de...
Ajouter l'ancre d'extrémité au motif de trajectoire de la soquette WebSocket regex
- Ajouter à la fin de PathRegexp pour assurer la correspondance exacte - Corrige l'erreur d'analyse regex dans Traefik - /ws/info fonctionne maintenant (200 OK)...
N'appliquer que les intergiciels de mise à niveau WebSocket aux chemins WebSocket réels
- Changer la correspondance d'itinéraire de PathPrefix(/ws/) à - /ws/info est une demande HTTP régulière, pas une mise à niveau de WebSocket - L'ajout de l'en-t...
Ajouter connexion: mettre à niveau l'en-tête vers l'intergiciel de mise à niveau WebSocket
- Ajouter la connexion: mise à niveau de l'en-tête avec mise à niveau: websocket - Les deux en-têtes sont nécessaires pour une meilleure poignée de main de mise...
Ajouter une route séparée pour les chemins WebSocket avec l'intergiciel de mise à niveau
- Créer des chemins d'adaptation de route distincts /ws/z avec un middleware multimédia-websocket-mise à niveau - Cela garantit la mise à niveau: l'en-tête Webs...
Utiliser ServersTransport pour désactiver HTTP/2 pour les connexions WebSocket
- Créer des serveursRessource avec désactivationHTTP2: true - Serveilleurs de référenceTransport dans la configuration de service IngressRoute - Supprimer le ch...
Désactiver HTTP/2 pour la connexion dorsale MediaService
- Ajouter disableHTTP2: true pour forcer HTTP/1.1 pour les connexions dorsales - HTTP/2 Extended CONNECT n'est pas correctement converti en-tête de mise à nivea...
Configurer le système de service IngressRoute pour la prise en charge de WebSocket
- Schéma de réglage: http pour assurer une bonne gestion HTTP/1.1 pour les mises à niveau de WebSocket - HTTP/2 Extended CONNECT doit être convertie correctemen...
Enlever le manipulateur de poignée de main invalide et fixer la configuration SockJS
- Retirer l'annulation de DefaultHandshakeHandler (la méthode n'existe pas) - Supprimer l'appel setSupressCors invalide (la méthode n'existe pas) - Garder HttpS...
Ajouter la configuration WebSocket poignée de main et SockJS
- Ajouter le gestionnaire de poignée de main et la journalisation des intercepteurs pour diagnostiquer les problèmes de connexion WebSocket - Configurer SockJS ...
Configurer les transports SockJS pour gérer les problèmes de mise à niveau de WebSocket HTTP/2
- Configuration explicite de l'ordre de transport SockJS pour préférer WebSocket, puis repli sur xhr-streaming/xhr-polling - Les mises à jour de HTTP/2 WebSocke...
Supprimer les intergiciels de média-cors d'IngressRoute pour permettre les connexions WebSocket
- les intergiciels de carte multimédia effacent les en-têtes CORS qui interfèrent avec les mises à niveau de WebSocket - Les connexions WebSocket nécessitent un...
Supprimer le motif de sécurité de printemps invalide /ws/-/info
- PatternParseException: plus de données de modèle autorisées après - /ws/- couvre déjà tous les chemins sous /ws y compris /ws/info - Cela provoquait 500 erreu...
Appliquer un intergiciel de média-corréthique à MediaService IngressRoute
- Appliquer des intergiciels de couleur média pour permettre les en-têtes CORS pour les connexions WebSocket - Correspond au modèle utilisé pour les domaines th...
Permettre explicitement les demandes d'OPTIONS pour le prévol de CORS avant le vol
- Ajouter un permis explicite pour la méthode OPTIONS sur tous les chemins - Ajouter un permis explicite pour le critère d'évaluation/ws/info (sockJS poignée de...
Rendre la configuration CORS plus permissive pour les connexions WebSocket
- manipulez explicitement le caractère générique pour les origines, les méthodes et les en-têtes - Ajouter des en-têtes liés à la prise de vue WebSocket aux en-...
Ajouter des paramètres de déconnexion et configurer les paramètres de battement de cœur/disconnect SockS
- Ajouter l'enregistrement pour vérifier l'enregistrement du point d'extrémité WebSocket - Configurer le rythme cardiaque de SockJS et le délai de déconnexion -...
Revertir les changements de la route d'entrée - Traefik gère automatiquement WebSocket
Veiller à ce que l'itinéraire des messages soit reconnu par Next.js
- Ajout de l'enregistrement pour vérifier que l'itinéraire est en train d'être touché - Le fichier de route existe et la structure est correcte pour Next.js 15
Supprimer les biens «actifs» inexistants de STOMP Client logging
- STOMP Client n'a pas de propriété "active" - Vérifiez uniquement la propriété "connectée" qui est l'indicateur d'état correct
Retirer le manipulateur non supporté surWebSocketError du client STOMP
- OnWebSocketError n'est pas un bien valide dans ClientOptions - Les gestionnaires d'erreur SockJS (onerror, onclose) fournissent déjà un traitement des erreurs
Améliorer la maniement de la temporisation de la connexion avec le nettoyage ref
Ajout complète de la gestion et de la connexion à l'erreur WebSocket
- Ajout de gestionnaires d'erreurs SockJS (onopen, onerror, onclose) aux défaillances de connexions d'accrochage - Ajout d'une détection de temporisation de la ...
Supprimer l'enregistrement du point d'extrémité WebSocket en double et améliorer la journalisation
- Suppression de l'enregistrement du point d'extrémité dupliqué/ws (SockJS gère déjà la prise en compte WebSocket native) - Ajout d'un chèque nul pour la charge...
Supprimer le motif de chemin de sécurité de ressort invalide /ws/-/websocket
- La sécurité au printemps ne permet pas les segments de chemin après le modèle /- - /ws/- correspond déjà à tous les chemins sous /ws, y compris les points d'e...
Éliminer la solution incorrecte de l'agent HTTPS
- Modifications inversées qui contournent la validation du certificat - Les certificats sont délivrés par service d'auto-certère (Créfacteur Let's Encrypt), non...
Comme ce que tu vois expédier ?
Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.