Add SSL configuration to k8s ConfigMap
- ConfigMap was missing SSL config from application.yml - Added server.ssl settings with environment variable support - Matches local application.yml configurat...
Use hostPort instead of NodePort for 8443
- NodePort range is 30000-32767, cannot use 8443 - Use hostPort to bind directly to host port 8443 - Removed service-websocket.yaml
Hubungkan ke MediaService port 8443 untuk WebSocket
- Update Koneksi WebSocket untuk menggunakan media.kamocrm.com: 8443 - Melewati Traefik untuk WebSocket- hanya lalu lintas - Menggunakan koneksi HTTPS / HTTP1.1...
Expose MediaService on port 8443 for WebSocket over HTTPS/HTTP1.1
- Added NodePort service on 8443 for direct WebSocket access (bypasses Traefik) - Mount wildcard-kamocrm-com SSL certificate - Init container converts PEM to PK...
Hapus WebSocket-hanya pembatasan transport untuk kompatibilitas HTTP / 2
- Browser WebSocket API tidak mendukung HTTP / 2 (RFC 8441 tidak diimplementasikan) - Native WebSocket membutuhkan HTTP / 1.1 Upgrade yang gagal melewati HTTP /...
Restore HTTP/2 for WebSockets (RFC 8441 support)
- WebSockets CAN work over HTTP/2 via RFC 8441 - Removed TLSOption (not needed) - Removed ServersTransport reference (let HTTP/2 work) - Restored simple domain-...
Use explicit Host() for /ws route to enable TLSOption
- Changed /ws route from HostRegexp to Host(media.kamocrm.com) - TLSOption can only be applied to explicit hosts (not regex) - ALPN negotiation happens during T...
Force HTTP/1.1 for MediaService ONLY via TLSOption
- Created media-tls-http1 TLSOption with alpnProtocols: [http/1.1] - Referenced ONLY in media-route IngressRoute - Does not affect other Traefik routes - Fixes ...
Revert "fix(traefik): disable idle timeout for WebSocket connections"
This reverts commit ****************
Separate /ws route for WebSocket, keep HTTP/2 for API
- Added two routes: /ws for WebSocket (higher priority), rest for API - Only /ws uses media-websocket-transport (HTTP/2 disabled) - API routes can use HTTP/2 fo...
Use Host() instead of HostRegexp() for media-route
- Simplified to Host(media.kamocrm.com) - Avoids regex escaping issues with backticks - Tests show route is working with simple Host match
Force HTTP/1.1 via TLSOption for WebSocket compatibility
- Created TLSOption to disable HTTP/2 ALPN negotiation - Forces browsers to use HTTP/1.1 for media.kamocrm.com - WebSocket upgrades require HTTP/1.1 protocol - ...
Disable idle timeout for WebSocket connections
- Added idleTimeout=0 to websecure entrypoint - Prevents Traefik from closing WebSocket connections due to inactivity - Fixes SockJS WebSocket timeout issues
Gunakan WebSocket-only transport (non-aktifkan TPS XHR)
- Diubah Transport SockJS dari [websocket, xhr-streaming, xhr-polling] ke [websocket] - Hapus mundur ke TPS XHR - Kekuatan koneksi WebSocket murni - Gagal cepat...
Add CORS middleware to media-route for cross-origin WebSocket
- Added cors middleware to allow cross-origin connections - Enables WebSocket connections from internal.* to media.* - Allows all origins, methods, and headers ...
Hubungkan WebSocket langsung ke media.kamocrm.com
- Dikembalikan ke pendekatan asli: terhubung ke media. * subdomain secara langsung - Dibuang sama - asal kompleksitas - Dihapus / ws bypass dari middleware (tid...
Hapus referensi namespace eksplisit dari layanan kamowsmeaa-
- Kedua layanan berada dalam namespace yang sama (kamo) - Referensi namespace explisit tidak diperlukan - Menghindari potensi masalah antar-ruang nama
Hapus / ws menulis ulang dari berikutnya. config (ditangani oleh Traefik)
- Removed Next.js rewrite for / ws paths - WebSocket routing sekarang ditangani di tingkat Traefik IngressRoute - Rute traefik proprial.kamocrm.com / w - > Medi...
Route / ws meminta langsung ke MediaService via Traefik
- Ditambahkan rute berdedikasi untuk jalur / ws di IngressRoute - Routes provenal.kamocrm.com / w - > MediaService secara langsung - Gunakan ServersTransport ya...
Ijinkan / w Endpoints WebSocket tanpa redirect auth
- Alamat ditambahkan / ws ke bypass middleware - SockJS perlu menyambung ke / w / info tanpa mengarahkan - Koneksi WebSocket akan tetap memiliki cookie * * - Ma...
Ubah koneksi WebSocket ke asal-same-
- Diubah dari media.kamocrm.com ke asal yang sama (convenal.kamocrm.com) - Menghindari masalah sambungan WebSocket - Ditambahkan aturan reply Next.js ke proxy /...
Tambahkan rute proksi API bagi titik akhir WebRTC
- Ditambahkan / api / webrtc / config proxy ke MediaService - Tambahkan / api / webrtc / token proksi untuk otentikasi Janus - Ditambahkan / api / webrtc / call...
Remove @kubernetescrd suffix from serversTransport reference
- Traefik error: cross-namespace format not allowed when crossnamespace disabled - IngressRoute and ServersTransport are in same namespace (kamo) - Use simple n...
Hapus properti koder tidak valid dari getDisplayMedia
- Menggunakan video sederhana: benar untuk berbagi layar - Membangun sekarang harus berhasil
Resolve build error - menggantikan PhoneOff dengan Callen
- Ikon PhoneOff tidak ada dalam material @ mui / icons- - Menggunakan Callen End yang merupakan ikon MUI yang benar - Menghapus berkas duplikat yang tak terpaka...
Lengkap peer- to-peer WebRTC memanggil dengan sinyal
- Menambahkan kait useWebRTC dengan dukungan sinyal penuh - Sinyal WebSocket terpadu (menawarkan, menjawab, calon ICE) - Tambahkan pemberitahuan panggilan masuk...
Add WebSocket signaling for peer-to-peer calls
- Added WebRTCSignalingController for call signaling - Handles offer/answer exchange via STOMP - Forwards ICE candidates between peers - Manages call hangup not...
Tambahkan integrasi Janus WebRTC untuk panggilan audio / video
- Ditambahkan kait useJanusWebRTC untuk manajemen panggilan WebRTC - Ditambahkan Komponen VideoCallPanel untuk tampilan video in- chat - Terintegrasi dengan Cha...
Add Janus WebRTC integration
- Added WebRTCController for token generation and call management - Configured Janus API URL and secrets (api, token, admin) - Configured STUN/TURN servers (kam...
Update TURN server credentials with secure values
- Updated turn-secret with secure random value - Updated turn-password for Janus authentication - Credentials match MediaService WebRTC configuration
Split port ranges to avoid conflicts
- Coturn relay: 52000-65535 (13,536 ports) - Avoids: Janus RTP (10000-49151) and WireGuard (51820-51821) - No overlap between services
Adjust relay port range to avoid WireGuard/VPN ports
- Changed max-port from 65535 to 51800 to avoid conflicts - Avoids WireGuard on UDP 51820 and other VPN services on 51821 - Provides 2,649 ports (49152-51800) f...
Resolve CrashLoopBackOff by fixing probes and config
- Replace netstat-based health probes with TCP socket checks (netstat not available in coturn/coturn:latest Alpine image) - Remove conflicting no-stdout-log dir...
Use full Kubernetes CRD provider name for ServersTransport reference
Traefik requires the @kubernetescrd suffix when referencing CRD resources like ServersTransport.
Add ServersTransport deployment to CI/CD workflow
Deploy traefik/serverstransport.yaml as part of Traefik deployment to both K1M1 and K2M1. This enables HTTP/1.1 backend connections for MediaService WebSocket s...
Add ServersTransport for MediaService WebSocket connections
Add media-websocket-transport ServersTransport resource to disable HTTP/2 for backend connections to MediaService. This is required for proper WebSocket upgrade...
Simplify MediaService WebSocket IngressRoute configuration
Remove media-websocket-upgrade middleware that was forcing headers and causing WebSocket handshake issues. Traefik automatically handles WebSocket upgrade when ...
Kembalikan transportasi WebSocket dalam SockJS
- Revert untuk menggunakan transport websocket (bukan polling) - WebSockets adalah standar dan harus bekerja dengan baik Fokus untuk memperbaiki isu koneksi Web...
Lewati transportasi WebSocket dalam SockJS untuk menghindari masalah HTTP / 2
- Gunakan xhr-streaming dan xhr-polling transportasi bukan websocket - Transportasi ini bekerja dengan baik HTTP / 1.1 dan HTTP / 2 tanpa membutuhkan upgrade We...
Add end anchor to WebSocket path regex pattern
- Add $ to end of PathRegexp to ensure exact match - Fixes regex parsing error in Traefik - /ws/info is now working (200 OK) but WebSocket upgrade route needs p...
Only apply WebSocket upgrade middleware to actual WebSocket paths
- Change route match from PathPrefix(/ws/) to **************** - /ws/info is a regular HTTP request, not a WebSocket upgrade - Adding Upgrade header to /ws/info...
Add Connection: Upgrade header to WebSocket upgrade middleware
- Add Connection: Upgrade header along with Upgrade: websocket - Both headers are required for proper WebSocket upgrade handshake - This ensures HTTP/2 Extended...
Add separate route for WebSocket paths with upgrade middleware
- Create separate route matching /ws/** paths with media-websocket-upgrade middleware - This ensures Upgrade: websocket header is added for WebSocket upgrade re...
Add media-websocket-upgrade middleware to force Upgrade header
- Add Upgrade: websocket header for WebSocket paths to fix HTTP/2 Extended CONNECT conversion - This ensures HTTP/2 WebSocket upgrade requests are properly conv...
Use ServersTransport to disable HTTP/2 for WebSocket connections
- Create ServersTransport resource with disableHTTP2: true - Reference ServersTransport in IngressRoute service configuration - Remove invalid disableHTTP2 fiel...
Nonaktifkan HTTP / 2 bagi koneksi backend MediaService
- Tambahkan disableHTTP2: true untuk memaksa HTTP / 1.1 untuk koneksi backend - HTTP / 2 Extended CONNECT tidak benar mengubah header Upgrade - Upgrade WebSocke...
Atur skema layanan IngressRoute bagi dukungan WebSocket
- Set skema: http untuk memastikan penanganan HTTP / 1.1 yang benar untuk peningkatan WebSocket - HTTP / 2 Extended CONNECT membutuhkan konversi yang tepat ke h...
Hapus penanganan jabat tangan tak valid dan perbaiki konfigurasi SockJS
- Hapus penimpaan HandshakeHandler yang tidak valid (metoda tidak ada) - Hapus panggilan setSupressCors tidak valid (metoda tidak ada) - Jauhkan HttpSessHandsha...
Add WebSocket handshake logging and SockJS configuration
- Add handshake handler and interceptor logging to diagnose WebSocket connection issues - Configure SockJS to suppress CORS (handled by Spring Security) and dis...
Seperti apa yang Anda lihat pengiriman?
Semua itu tiba di ruang kerjamu sendiri. Mulailah dengan rencana gratis dan baca halaman ini lagi dalam sebulan.
