WebSocket Proxy Yönlendirme Kılavuzu
Genel Bakış
Apinizer WebSocket proxy'si, HTTP API'ler ile tamamen aynı mantıkta çalışır. Aynı API Proxy üzerinden hem HTTP hem WebSocket isteklerini yönlendirebilirsiniz.
Temel Kavramlar
- Backend URL: Tek gerekli konfigürasyon (örn:
http://backend:9090/ws/api
) - Relative Path: HTTP API'lerle aynı (örn:
/websocket/*
,/chat/*
) - Protokol Dönüşümü:
http://
→ws://
,https://
→wss://
Nasıl Çalışır?
Birleşik Path Resolve Süreci
Gelen İstek: ws://host/api/websocket/rooms/123?user=john
├─ API Proxy Path: /api/websocket/*
├─ Backend URL: http://localhost:9090/ws/chat
├─ Protokol Dönüşümü: ws://localhost:9090/ws/chat
├─ Remaining Path: rooms/123
└─ Final URL: ws://localhost:9090/ws/chat/rooms/123?user=john
CODE
Path Resolve Adımları
- Query Ayrımı: Request path'den query parametreleri ayrılır
- Path Normalizasyonu: Wildcard işaretleri (
*
) temizlenir - Remaining Path: API proxy path'i çıkarılır
- Protokol Dönüşümü: HTTP → WebSocket
- URL Birleştirme: Backend URL + Remaining Path + Query
Pratik Örnekler
Örnek 1: HTTP ve WebSocket Birleşik
API Proxy: /api/v1/*
Backend URL: http://localhost:8080/service
HTTP İstek:
POST /api/v1/users → http://localhost:8080/service/users
WebSocket İstek:
ws://host/api/v1/chat → ws://localhost:8080/service/chat
--------------------------------------------------------
Örnek 2: Güvenli Bağlantı
API Proxy: /secure/*
Backend URL: https://api.example.com/ws
WebSocket İstek:
ws://host/secure/data → wss://api.example.com/ws/data
--------------------------------------------------------
Örnek 3: Websocket Chat Uygulaması
API Proxy: /chat/*
Backend URL: http://chat-service:9090/websocket
WebSocket İstek:
ws://host/chat/room/123 → ws://chat-service:9090/websocket/room/123
CODE
Sık Sorulan Sorular
S: Aynı API Proxy hem HTTP hem WebSocket destekleyebilir mi?
C: Evet! Aynı relative path altında her iki protokol de çalışır.
S: Backend URL'de hangi protokol kullanmalıyım?
C: HTTP veya HTTPS kullanın. Sistem otomatik olarak WS/WSS'ye dönüştürür.
S: Query parametreleri korunur mu?
C: Evet, tüm query parametreleri backend'e aynen aktarılır.
S: Mevcut HTTP API'lerimi nasıl WebSocket destekli yapabilirim?
C: Ortam ayarlarından WebSocket desteğini aktif edin.