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:

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.

Yeni Adres Ekleme

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

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:

  • Eğer server adresinde mTLS doğrulaması yoksa boş olmalıdır. (Alan zorunlu olduğu için boş bir keystore eklenmesi gereklidir.)
  • Eğer server adresinde mTLS doğrulaması varsa:
    • client privatekey,
    • İstemci sertifikası (public key ile birlikte),
    • Sertifika zinciri (varsa intermediate ve root CA sertifikaları)  
      bulunmalı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:

  • Hedef sunucunun root CA sertifikası
  • Intermediate CA sertifikaları (varsa)
    bulunmalı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:

  • TLSv1.3
  • TLSv1.2
  • TLSv1.1
  • TLSv1
  • SSLv3

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:

  1. Default Hostname Doğrulama: Bu uygulama, standart hostname doğrulamasını RFC 2818 ve RFC 6125'te tanımlanan kurallara göre gerçekleştirir. Hostname'in eşleştiğinden emin olmak için sunucu sertifikasının ortak adını (CN) ve konu alternatif adlarını (SAN'lar) kontrol eder.

  2. Strict Hostname Doğrulama: Bu uygulama, Default Hostname Doğrulama'dan daha sıkı bir hostname doğrulaması gerçekleştirir. Hostname ile sunucu sertifikasının CN veya SAN'ları arasında tam bir eşleşme gerektirir. Ayrıca, hostname'in tam nitelikli bir etki alanı adı (FQDN) olup olmadığını ve bir IP adresi veya joker etki alanı adı olmadığını da kontrol eder.

  3. Browser Compat Hostname Doğrulama: Bu uygulama, popüler web tarayıcıları tarafından kullanılan kurallara dayalı olarak rahat bir hostname doğrulaması gerçekleştirir. Bir joker alan adının, alan adının herhangi bir alt alan adıyla eşleşmesine izin verir ve hostname'in büyük/küçük harf duyarlılığını yok sayar.