API tipi gRPC ise, bu sekme görünür.

Bu bölümde, gRPC 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. 

Yönlendirme Sekmesi ayarlarını içeren görsele aşağıda yer verilmiştir:

Backend Adresi Güncelleme

Adresleri gösteren tablonun Adres (Address) kolonundaki Yapılandır (Configure) tuşuna tıklandığında açılan pencerede isteğin yönlendirileceği backend adresi güncellenebilir.

Routing Algorithm

AlgoritmaAçıklama
Round Robinİstek mesajları listedeki adreslere sıra ile gönderilir. Listenin sonuna gelindiğinde listenin başına dönülür ve aynı döngü devam eder. 
Pick First

İstek mesajları listesindeki ilk adrese yönlendirme yapılır.

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

gRPC Bağlantı Ayarları Tanımlama Sekmesi, gRPC 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.

gRPC Bağlantı Ayarları Tanımlama Sekmesi 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

Maksimum Gelen Mesaj Boyutu

(Max Inbound Message Size)

 İstemciden alınabilecek maksimum mesaj boyutunu belirler.

Maksimum Gelen Meta Verisi Boyutu

(Max Inbound Metadata Size)

 İstemciden alınabilecek maksimum meta verisi boyutunu belirler.

Keep Alive Time

(Keep Alive Time)

Bağlantının canlı tutulması için geçen süreyi ayarlar.

Keep Alive Timeout

(Keep Alive Timeout)

Keep Alive mesajlarının zaman aşımını belirler.

Keep Alive Without Calls

(Keep Alive Without Calls)

Çağrı olmadan bağlantının canlı tutulup tutulmayacağını ayarlar.

Channel Idle Timeout

(Channel Idle Timeout)

 Kanalın boşta kalma süresini belirler.

Per RPC Buffer Limit

(Per RPC Buffer Limit)

Her RPC için ayrılacak tampon bellek limitini tanımlar.

Max Retry Attempts

(Max Retry Attempts)

Yeniden deneme için maksimum deneme sayısını belirler.

Max Hedged Attempts

(Max Hedged Attempts)

 Aynı isteğin birden fazla kez gönderilmesi durumunda maksimum deneme sayısını ayarlar.

Max Trace Events

(Max Trace Events)

 İzleme olaylarının maksimum sayısını belirler.

User Agent'i Backend'e Gönder

(Send User Agent to Backend)

Backend'e istek gönderilirken User Agent bilgisinin gönderileceği bilgisidir.

Bu seçenek etkinleştirildiğinde, User-Agent değeri özelleştirilebilir.

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
  • 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.

Truststore  içeriğinde şunlar olmalıdır:

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

Güvenli Bağlantı ayarları etkin olduğunda routing'de var olan, ortam ayarlarında değerleri belirtilen "http connection pool" devre dışı bırakılır.