Ana içeriğe geç

WebSocket API Proxy Oluşturma

Genel Bakış

bilgi

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. Backend WebSocket servisinizin adresini belirtir.

Örnek: http://backend:9090/ws/api

Relative Path

HTTP API'lerle aynı mantıkta çalışır. Wildcard kullanarak esnek yönlendirme yapabilirsiniz.

Örnekler: /websocket/*, /chat/*

Protokol Dönüşümü

Sistem otomatik olarak protokol dönüşümü yapar:

  • http://ws://
  • https://wss://

Nasıl Çalışır?

Birleşik Path Resolve Süreci

Path Resolve Örneği

Aşağıdaki örnek, bir WebSocket isteğinin nasıl işlendiğini gösterir:

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
Path Resolve Adımları

WebSocket isteklerinin işlenmesi aşağıdaki adımlardan geçer:

Query Ayrımı

Request path'den query parametreleri ayrılır.

Path Normalizasyonu

Wildcard işaretleri (*) temizlenir.

Remaining Path Hesaplama

API proxy path'i çıkarılır ve kalan path belirlenir.

Protokol Dönüşümü

HTTP → WebSocket protokol dönüşümü yapılır (http://ws://, https://wss://).

URL Birleştirme

Backend URL + Remaining Path + Query parametreleri birleştirilerek final URL oluşturulur.

Pratik Örnekler

HTTP ve WebSocket Birleşik API Proxy

Aynı API Proxy üzerinden hem HTTP hem WebSocket isteklerini yönlendirme:

Konfigürasyon:

  • API Proxy: /api/v1/*
  • Backend URL: http://localhost:8080/service

Örnek İstekler:

  • HTTP: POST /api/v1/usershttp://localhost:8080/service/users
  • WebSocket: ws://host/api/v1/chatws://localhost:8080/service/chat
Güvenli Bağlantı (WSS)

HTTPS backend ile güvenli WebSocket bağlantısı:

Konfigürasyon:

  • API Proxy: /secure/*
  • Backend URL: https://api.example.com/ws

Örnek İstek:

  • WebSocket: ws://host/secure/datawss://api.example.com/ws/data
ipucu

HTTPS backend kullanıldığında otomatik olarak WSS (WebSocket Secure) protokolüne dönüştürülür.

WebSocket Chat Uygulaması

Chat uygulaması için WebSocket proxy örneği:

Konfigürasyon:

  • API Proxy: /chat/*
  • Backend URL: http://chat-service:9090/websocket

Örnek İstek:

  • WebSocket: ws://host/chat/room/123ws://chat-service:9090/websocket/room/123

Sık Sorulan Sorular

Aynı API Proxy hem HTTP hem WebSocket destekleyebilir mi?
ipucu

Evet! Aynı relative path altında her iki protokol de çalışır.

Aynı API Proxy konfigürasyonu ile hem HTTP hem WebSocket isteklerini yönlendirebilirsiniz. Sistem gelen isteğin protokol tipini otomatik olarak algılar ve uygun şekilde işler.

Backend URL'de hangi protokol kullanmalıyım?
bilgi

HTTP veya HTTPS kullanın. Sistem otomatik olarak WS/WSS'ye dönüştürür.

Backend URL'de http:// veya https:// protokolünü kullanabilirsiniz. Apinizer, WebSocket istekleri için otomatik olarak:

  • http://ws://
  • https://wss://

dönüşümünü yapar.

Query parametreleri korunur mu?
ipucu

Evet, tüm query parametreleri backend'e aynen aktarılır.

WebSocket isteklerindeki query parametreleri (?param=value) korunur ve backend'e aktarılır. Örneğin:

ws://host/api/chat/room/123?user=john&token=abc

Bu istek backend'e query parametreleriyle birlikte yönlendirilir.

Mevcut HTTP API'lerimi nasıl WebSocket destekli yapabilirim?
Ortam Ayarlarına Gidin

API Proxy'nin bağlı olduğu ortamın ayarlarına gidin.

WebSocket Desteğini Aktifleştirin

Ortam ayarlarından WebSocket desteğini aktif edin.

Deploy Edin

Değişiklikleri deploy edin. Artık mevcut HTTP API Proxy'niz WebSocket isteklerini de destekleyecektir.

ipucu

Mevcut HTTP API Proxy'leriniz için ek bir konfigürasyon gerekmez. Sadece ortam ayarlarından WebSocket desteğini aktif etmeniz yeterlidir.