Yönlendirme Sekmesi - WebSocket (Routing Tab)
API tipi WebSocket ise, bu sekme görünür.
Bu bölümde, WebSocket API Proxy Tipi için yönlendirme ayarları yer almaktadır.
API Proxy, istemciden gelen mesajları karşılayıp varsa politikaları işlettikten sonra, mesajı Backend API'ye yönlendirir. Yönlendirme sekmesi, işte bu yönlendirme işleminin nasıl yapılacağının ayarlandığı sekmedir.
WebSocket Yönlendirme Sekmesi ayarlarını içeren görsele aşağıda yer verilmiştir:

Yeni Adres Ekleme
Yapılandır butonuyla açılan pencerenin en sağındaki kolon başlığı bölgesindeki tuşuna tıklandığında açılan pencereden yeni bir adres eklenebilir.

Yeni adres ekleme penceresinde:
- Adres alanına backend API adresi girilir veya ortam değişkeni kullanılır
- Adres alanının sağındaki liste ikonu butonuna tıklanarak Ortam Değişkenleri Seçim Dialog'u açılabilir
- Seçilen ortam değişkeni panoya kopyalanır ve adres alanına yapıştırılır
- Koşul (Condition) bölümü ile koşullu yönlendirme tanımlanabilir
Adresi Güncelleme
Adresleri gösteren tablonun Adres (Address) kolonundaki Yapılandır (Configure) tuşuna tıklandığında açılan pencerede isteğin gönderileceği backend adresi bilgisi güncellenebilir.
WebSocket Yönelendirme Adresi ayarlarını içeren görsele aşağıda yer verilmiştir:

Bu değerin nasıl girilmesi gerektiği ile ilgili şu sayfayı ziyaret edebilirsiniz.
Eğer bu değer otomatik olarak bulunduğu ortama göre değişmesi isteniyorsa Ortam Değişkenleri (Environment Variable) içinden seçim yapılabilir.
Adresleri gösteren tablonun Adres (Address) kolonundaki Yapılandır (Configure) tuşuna tıklandığında açılan pencerede adres güncellenebilir.
Ortam Değişkenleri (Environment Variable) Seçimi için açılan dialog detayı aşağıdaki görselde belirtilmiştir.
Adres giriş alanının sağında bulunan liste ikonu butonuna tıklandığında Ortam Değişkenleri Seçim Dialog'u açılır. Bu dialog üzerinden projede tanımlı tüm ortam değişkenleri (Environment Variables) görüntülenebilir ve seçilebilir.

Adres Silme
Silinmek istenen adresin satır sonundaki açılır menüsünden Kaldır (Remove) seçeneği seçilerek adres silinir.
API Proxy'nin yönlendirme yapabilmesi için en az bir adres olması gerekir. Bu nedenle en son adres için silindikten sonra kaydet butonu pasif olur ve kaydetmeye izin vermez.
Bağlantı Ayarları Konfigürasyonu
WebSocket Bağlantı Ayarları Tanımlama Sekmesi, WebSocket protokolü üzerinden yapılan bağlantıların yapılandırılmasını sağlar. Bu sekme, bağlantıların performansını ve güvenliğini optimize etmek için gerekli olan çeşitli parametreleri içerir. Aşağıda, bu sekmede yer alan ayarların detayları verilmiştir.
WebSocket Bağlantı Ayarları Tanımlama Sekmesi ayarlarını içeren görsele aşağıda yer verilmiştir:

WebSocket Bağlantı ayarları konfigürasyonu için kullanılan parametreler aşağıda görülmektedir:
| Alan | Açıklama | |
|---|---|---|
Bağlantı Kaybı Zaman Aşımı (Connection Lost Timeout) | Bu ayar, WebSocket bağlantısının kaybolması durumunda, bağlantı kaybolduktan sonra ne kadar süre bekleyeceğini belirler. Bu süre aşılırsa, yeni bir bağlantı kurulmaya çalışılır. | |
Bağlantı Zaman Aşımı (Connect Timeout) | WebSocket sunucusuna bağlantı kurma sırasında geçerli olan zaman aşımı süresini ifade eder. | |
Yeniden Deneme Gecikmesi (Retry Delay) | Bağlantı kaybolduğunda, yeniden bağlantı kurulmadan önce beklenmesi gereken süreyi belirtir. | |
Maksimum Yeniden Deneme Sayısı (Max Retries) | Bağlantı kaybolduğunda, bağlantıyı yeniden kurmak için yapılacak maksimum deneme sayısını belirtir. | |
Adres Yeniden Kullanımı (Reuse Address) | Ağ bağlantısı için kullanılan IP adresinin, bağlantı kapanmış olsa bile yeniden kullanılmasını sağlayan bir ayardır. | |
Otomatik Yeniden Bağlanma (Auto Reconnect) | Bağlantı beklenmedik şekilde kapandığında istemcinin sunucuya otomatik olarak yeniden bağlanmaya çalışmasını sağlar. | |
Maksimum Yeniden Bağlanma Denemesi (Auto Reconnect Max Retries) | İstemcinin bağlantı kesildikten sonra kaç kez yeniden bağlanmayı deneyeceğini belirler. | |
Yeniden Bağlanma Gecikmesi (Auto Reconnect Retry Delay) | Her yeniden bağlanma denemesi arasında ne kadar süre bekleneceğini belirler. | |
Bu ayarlar, WebSocket bağlantınızın yönetimi ve hatalara karşı nasıl tepki vereceği konusunda önemli bilgiler sağlar.
Güvenli Bağlantı Ayarı
Bu ayar etkinleştirildiğinde seçili bağlantı ayarları isteğe uygulanır.
Böylece Apinizer'dan hedef hizmete gönderim yapacak olan Apinizer istemcisi, hedef hizmetin sertifikasını doğrular ve kendisinin de bir sertifikası olduğunu ve hedef hizmet tarafından doğrulanması gerektiğini belirtir.
Hedef hizmet de istemcinin sertifikasını doğrular ve bu sayede istemci ile güvenli bir iletişim kurulmuş olur.
Güvenli Bağlantı yapılandırma ayarlarını içeren görsele aşağıda yer verilmiştir:

Bağlantı ayarları konfigürasyonu için kullanılan parametreler aşağıda görülmektedir.
| Alan | Açıklama | |
|---|---|---|
Keystore | Keystore, istemci tarafının kimliğini doğrulamak için kullanılır. Keystore içeriğinde şunlar olmalıdır:
| |
| Truststore | Truststore sunucu sertifikasını doğrulamak için kullanılır. Sunucu sertifikası Self Signed ise ya da Apinizer'ın güvenmediği bir sertifika ise Truststore içeriğinde şunlar olmalıdır:
Aksi halde Apinizer'ın sahip olduğu CA sertifikalar güvenli bağlantı için yeterli olacaktır. | |
Desteklenen Protokol Listesi (Supported Protocol List) | Desteklenen protokoller seçilir. Seçenekler:
| |
Hostname Doğrulama Tipi (Hostname Verifier Type) | Noop Hostname Doğrulama, SSL/TLS bağlantılarında güvenlik riski oluşturabilecek hostname doğrulamasını devre dışı bırakır. Bir saldırganın SSL/TLS iletişimini kesebileceği ve sunucunun kimliğine bürünebileceği man-in-the-middle (MITM) saldırılarını önlemek için sunucunun hostname'ini doğrulamak önemlidir. Noop Hostname Doğrulama kullanmak yerine, Apache HttpComponents istemci çerçevesi tarafından sağlanan aşağıdaki hostname doğrulama uygulamalarından birini kullanabilirsiniz:
| |