Ana içeriğe atla

Client IP Adresinin 10.244.x.x Şeklinde Görülmesi

Problem

Client IP adresi Kubernetes ortamında 10.244.x.x şeklinde görülmektedir.

Sebep/Neden

Kubernetes NodePort yapısında eğer client’dan X-Forwarded-For değer gelmiyorsa default olarak arka taraftaki uygulamaya pod’un IP adresini yönlendiriyor. Çözüm olarak externalTrafficPolicy değer Local yaparak çözebiliyoruz ancak bu defa NodePort gelen isteği Cluster’daki diğer sunuculara yönlendirmediğinden erişim sıkıntısı oluşuyor. İlgili Node’u bilip ona gitmek gerekiyor.

Çözüm

Apinizer Worker’ları Nginx veya F5 gibi bir yapının arkasına konacağı için, ilgili loadbalancer’ın konfigürasyon dosyasına aşağıdaki gibi header’a xff bilgisinin eklenmesi gerekiyor.
Nginx için bu ayar aşağıdaki gibi yapılabilir:
location /apigateway/ {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://api.inst.com/apigateway/;
} # end location

SOAP Servislerde WS-S/WS-STS Token Alma Routing Sorunu

Problem

SOAP servislerde kullanılan WS-S ya da WS-STS politikaları “PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target” hatası nedeniyle token alamıyor.

Sebep/Neden

SOAP servis çağrımında Apinizer’a yüklenmiş sertifikayı görememesi nedeniyle bu servisin token alımının reverse proxy üzerinden yapılması gerekiyor.

Çözüm

İlgili token alma adresi ile routing yapan bir reverse proxy oluşturulur ve token kullanan servisteki wss/wssts politikasının token alma adresi bu servis olarak verilir. Nadir durumlarda reverse proxy üzerinden script ile xml mesajındaki adresin değiştirilmesi gerekebilir.

DNS Çözümleme Sorunları

Problem

Yoğun environment kullanımı veya yüksek sayıda rate limit tanımı olan sistemlerde, bazı servis adreslerinin anlık olarak çözülememesi.

Sebep/Neden

Bu durum, DNS çözümleme performansının yetersiz kalmasından kaynaklanmaktadır.

Çözüm

1

CoreDNS Kaynak Limitlerini Artır

CPU ve RAM kaynakları yükseltilerek daha fazla sorgunun aynı anda işlenebilmesi sağlanmalıdır.
2

CoreDNS Node'lar Üzerine Dağıt

Her worker node üzerinde bir adet CoreDNS podu olacak şekilde deployment yeniden yapılandırılmalıdır. Bu sayede DNS sorguları merkezi bir noktaya yığılmadan dağıtık şekilde işlenebilmektedir.

Coğrafi Bilgi Sistemleri Servislerinde GetCapabilities Routing Sorunu

Problem

Coğrafi Bilgi Sistemleri servislerinde GetCapabilities ile dönmekte olan WSDL içerisindeki adreslerin Apinizer’a taşınması gerekmektedir.

Çözüm

  1. bölgeye eklenecek bir Business Rule veya Script poliçesi ile url’de query param olarak ‘request’ anahtarında ‘GetCapabilities’ değeri geliyorsa string replace ile buradaki adres Apinizer’da ilgili proxy’e yönlenecek şekilde değiştirilmelidir.