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ı

  1. Query Ayrımı: Request path'den query parametreleri ayrılır
  2. Path Normalizasyonu: Wildcard işaretleri (*) temizlenir
  3. Remaining Path: API proxy path'i çıkarılır
  4. Protokol Dönüşümü: HTTP → WebSocket
  5. 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.