Odpowiednio skonfigurować Spring Security dla WebSocket - całkowicie wyłączyć CSRF, włączyć tworzenie sesji IF_REQUIRED dla WebSocket
Wyłącz CSRF dla punktów końcowych / węż i uprościć konfig zabezpieczeń, aby naprawić błąd SockJS /ws/info 405
Wyraźnie pozwól, aby metody GET/POST/HEAD dla punktów końcowych /ws/a naprawy na poprawki do błędu SockJS /ws/info 405
Usuń nieprawidłowe metody wywołania błędów kompilacji (getId on MediaSession, getStatusCode on ServerHttpResponse)
Dodaj rejestrowanie EXTENSIVE do WebSocketConfig i ChatWebSocketController - każda ramka STOMP, uścisk dłoni, subskrypcji i logowania wiadomości
Dodaj oprogramowanie pośrednie i serwery WebSocketTransport do IngressRoute
- Dodano oprogramowanie middleware multi-websocket-upgrade dla webSocket upgrade nagłówków - Dodano media-websocket-transport, aby wyłączyć HTTP / 2 (WebSocket ...
WebSocket wiadomości na żywo - wyłapnij subskrypcję ChatMessageHandler, ulepszenie logowania
- Niepełnosprawna ChatMessageHandler subskrypcja na czat.session.> która spożywała wiadomości bez przesyłania do WebSocket - Ulepszone wycinki WebSocketKonfig d...
Ruroku wyzwalacza - miejsce na dysku i konfiguracja pamięci podręcznej
Użyj sesji GUID bezpośrednio jako NATS Nazwa konsumenta - Sesja GUID jest już wyjątkowa, nie ma potrzeby prefiksu - Upraszcza kod i nazewnictwo konsumenckie
Użyj unikalnych nazw konsumentów NATS na sesję czatu - Każda sesja używa teraz nazwy konsumenta: chat-konsumencka-sessionaGuid - Zapobiega konfliktom konsumenckim, gdy wiele sesji jest aktywnych - Naprawia problem z wiadomościami na żywo, w których wiadomości nie były dostarczane
Trwałe połączenie WebSocket z agresywnym utrzymaniem
Bezczynność timeout ustawiona na 0, bicia serca 20s, odłączenie opóźnienia 30s, czas przedniea meczu
Dodaj rejestrowanie ramek STOMP w celu zdiagnozowania problemów z połączeniem
Dodaj TomcatConnectorCustomizer, aby wymusić konfiskowanie klucza SSL
- Aplikacja Spring Boot.yml SSL config nie jest stosowana - Użyj TomcatConnectorCustomizer do zaprogramowania keystore - Złącze sił do stosowania /etc/ssl/certs...
Ustawienia SSL z twardego kodu w ConfigMap do produkcji
- Usuń środowisko zmiennymi symbolami zastępczy - Hardcoded port 8443, włączony protokół SSL, ścieżka keystore - Fixes Spring Boot nie rozwiązując prawidłowo en...
Poprawa nazw zmiennych środowiskowych Spring Boot SSL
- Zmieniono SSL_ENABLED na SERVER_SSL_ENABLED - Zmiana SSL_KEY_STORE na SERVER_SSL_KEY_STORE - Zmieniono SSL_KEY_STORE_PASSWORD na SERVER_SSL_KEY_STORE_PASSWORD...
Dodawanie poHandshake rejestruj, aby zdiagnozować problemy z WebSocket
Uproszczenie tylko do HTTPS: 8443, usuń podwójną konfig portu
- MediaService działa TYLKO na porcie 8443 (HTTPS) - Koniec traefikowania routingu dla MediaService - Usunięto złożoność DualPortConfig - Cały ruch (API + WebSo...
Użyj SSLHostConfig API dla konfiguracji Tomcat SSL
- Użyj SSLHostConfig i SSLHostConfigCertificate (poprawny Tomcat API) - Skonfiguruj certyfikat poprzez . - Naprawia błędy kompilacji z setAttribute/Property
Użyj setAttribute dla konfiguracji Tomcat SSL
- Zmienione z setKeystoreFile/Pass/Type/Alias na setAttribute - Tomcat 10+ wykorzystuje setAttribute dla właściwości SSL - Naprawiono błędy kompilacji
Uruchom MediaService na obu portach 80 (HTTP API) i 8443 (HTTPS WebSocket)
- Odwrócony serwis.yaml i ingresstrol.yaml do użycia portu 80 - Usunięto wymuszone SERVER_PORT i SSL_ENABLED env vars - Dodano DualPortConfig do programowo doda...
Użyj NodePort 30843 zamiast hostPort dla WebSocket
- hostPort może być zablokowany przez zasady zapory sieciowej - NodePort 30843 jest w ważnym zakresie (30000-32767) - Przeglądarka łączy się z zewnętrznym porte...
Dodaj konfigurację SSL do k8s ConfigMap
- ConfigMap brakowało konfiguracji SSL z application.yml - Dodano ustawienia serwera.ssl z obsługą zmiennych środowiskowych - Dopasowuje lokalną konfigurację ap...
Użyj hostPort zamiast węzowego portu dla 8443
- Zakres nodePort wynosi 30000-32767, nie można używać 8443 - Użyj hostPort, aby bezpośrednio związać się z portem hosta 8443 - Usunięto serwis-websocket.yaml
Ekspspeka MediaService na porcie 8443 dla WebSocket przez HTTPS/HTTP1.1
- Dodano usługę NodePort na 8443 dla bezpośredniego dostępu WebSocket (obejza Traefik) - Montaż certyfikatu Wildcard-kamocrm-com SSL - Pojemnik Init konwertuje ...
Przywróć HTTP/2 dla WebSockets (obs się obsługuje RC 8441)
- WebSockets CAN działają przez HTTP/2 przez RFC 8441 - Usunięto TLSOption (nie jest potrzebne) - Usunięto odniesienie do serweraTransport (pozw. HTTP / 2 Praca...
Użyj wyraźnej Host() dla /ws route, aby włączyć TLSOption
- Zmieniona trasa /ws z HostRegexp do Host(media.kamorm.com) - TLSOption może być stosowany tylko do jawnych hostów (nie regex) - Negocjacje ALPN odbywają się p...
Wymuś HTTP / 1.1 dla MediaService TYLKO poprzez TLSOption
- Createdred media-tls-http1 TLSOption with alpnProtocols: [http/1.1] - Odniesienie TYLKO w media-drocie IngressRoute - Nie ma wpływu na inne trasy Traefik - Na...
Oddzielna trasa /ws dla WebSocket, zachowaj HTTP/2 dla API
- Dodano dwie trasy: /ws dla WebSocket (wyższy priorytet), odpoczynek dla API - Tylko /ws wykorzystuje media-websocket-transport (HTTP/2 wyłączony) - Trasy API ...
Użyj Host() zamiast HostRegexp() dla mediów
- Uproszczony do Host(media.kamorm.com) - Unika regexu uciekającego problemów z backtickami - Testy pokazują, że trasa działa z prostym meczem hosta
Wymuś HTTP/1.1 poprzez TLSOption dla zgodności WebSocket
- Utworzono TLSOption, aby wyłączyć negocjacje HTTP / 2 ALPN - Zmowa przeglądarki do korzystania z HTTP/1.1 dla mediów.kamorm.com - Ulepszenia WebSocket wymagaj...
Dodaj CORS middleware do przekierowania do cross-origin WebSocket
- Dodano cors middleware, aby umożliwić połączenia między oryginalnymi - Umożliwia WebSocket połączenia z internal.- na media. - Umożliwia wszelkie pochodzenie,...
Usuwanie sufiks .kubernetescrd z serwerów Odniesienie do portufonów
- Błąd Traefik: format cross-namespace nie jest dozwolony, gdy wyłączone crossnamespace - IngressRoute i serweryTransport znajdują się w tej samej przestrzeni n...
Dodaj sygnalizację WebSocket dla połączeń peer-to-peer
- Dodano WebRTCSignalingController do sygnalizacji wywoławnej - Oferta / wymiana odpowiedzi przez STOMP - Kandydaci ICE na znakowanie między rówieśnikami - Zarz...
Dodaj integrację Janus WebRTC
- Dodano WebRTCController do generowania tokenów i zarządzania połączeniami - Skonfigurowany adres URL i sekrety Janus API (api, token, admin) - Skonfigurowane ...
Użyj pełnej nazwy dostawcy Kubernetes CRD dla numer referencyjnych ServersTransport
Traefik wymaga przetasowania .kubernetescrd przy odsyłaniu do zasobów CRD, takich jak ServersTransport.
Simplify MediaService WebSocket Konfiguracja IngressRoute
Usuń media-websocket-upgrade middleware, który wymuszał nagłówki i powodował problemy z uściskiem dłoni WebSocket. Traefik automatycznie obsługuje aktualizację ...
Dodaj kotwicę końcową do wzoru WebSocket path regex
- Dodaj $ do końca PathRegexp, aby zapewnić dokładne dopasowanie - Naprawiono błąd parsowania regex w Traefiku - /ws/info działa teraz (200 OK), ale trasa aktua...
Wyłącz tylko aktualizację WebSocket do rzeczywistych ścieżek WebSocket
- Zmień kolejność trasy z PathPrefix(/ws/) do . - /ws/info jest zwykłym żądaniem HTTP, a nie aktualizacją WebSocket - Dodanie nagłówka Upgrade do /ws/info powod...
Dodaj oddzielną trasę dla ścieżek WebSocket z modernizacją oprogramowania pośredniego
- Twórz oddzielne ścieżki dopasowywać / ścieżki z media-websocket-upgrade middleware - Zapewnia to uaktualnienie: nagłówek websocket jest dodawany do żądań aktu...
Użyj serwerówTransport, aby wyłączyć HTTP/2 dla połączeń WebSocket
- Tworzenie serwerówZasób transportowy z wyłączeniaHTTP2: true - Serwery referencyjneTransport w konfiguracji usługi IngressRoute - Usuń nieprawidłowe pole HTTP...
Wyłącz połączenie HTTP/2 dla połączenia backend MediaService
- Dodać disableHTTP2: true wymuszenia HTTP / 1.1 dla połączeń backend - HTTP/2 Extended CONNECT nie konwertuje nagłówka aktualizacji - Ulepszenia WebSocket wyma...
Konfiguracja programu serwisowego IngressRoute dla wsparcia WebSocket
- Ustaw schemat: http, aby zapewnić prawidłową obsługę HTTP / 1.1 dla aktualizacji WebSocket - HTTP/2 Extended CONNECT wymaga prawidłowej konwersji do nagłówka ...
Usuń nieprawidłowy uchwyt dłoni i napraw konfigurację SockJS
- Usuń nieprawidłowego DefaultHshakeHandler nadpisuj (metoda nie istnieje) - Usuń nieprawidłowy setPupresCors call (metoda nie istnieje) - Zachowaj HttpSessionH...
Dodaj WebSocket rejestrowanie i konfigurację SockJS
- Dodaj uchwyt dłoni i rejestrowanie przechwytywania w celu zdiagnozowania problemów z połączeniem WebSocket - Skonfiguruj SockJS w celu stłumienia CORS (przejm...
Usuwanie oprogramowania middle-cors z Ingress, aby umożliwić połączenia WebSocket
- Media-cors middleware oczyszczał nagłówki CORS, które zakłócały aktualizacje WebSocket - Połączenia WebSocket wymagają bezpośredniego przejścia bez modyfikacj...
Usuń nieprawidłowy wzór Spring Security /ws//info
- PatternParseException: Brak więcej danych wzorcowych dozwolonych po "... lub ". - /ws/- obejmuje już wszystkie ścieżki w punktach /ws, w tym /ws/info - To pow...
Jak to, co widzisz żeglugę?
Każda z tych aktualizacji automatycznie ląduje w miejscu pracy. Zacznij za darmo i obserwuj, jak rośnie tydzień po tygodniu.