Uç Kullanıcı Genel IP Adresinin Doğru Raporlanması (NGINX Tabanlı Ingress Controller)¶
Bu talimatlar, bir yük dengeleyicinin arkasına yerleştirilen bir controller durumunda, istemcinin (uç kullanıcı) kaynak IP adresinin tanımlanması için gereken Wallarm Ingress controller yapılandırmasını açıklamaktadır.
Varsayılan olarak, Ingress controller, doğrudan internete açık olduğunu ve bağlanan istemcilerin IP adreslerinin gerçek IP adresleri olduğunu varsayar. Ancak, istekler, Ingress controller'a gönderilmeden önce bir yük dengeleyici (örn. AWS ELB veya Google Network Load Balancer) üzerinden iletilebilir.
Yük dengeleyicinin arkasına yerleştirilen bir controller durumlarında, Ingress controller, yük dengeleyici IP adresini gerçek uç kullanıcı IP'si olarak kabul eder; bu durum bazı Wallarm özelliklerinin hatalı çalışmasına yol açabilir. Doğru uç kullanıcı IP adreslerini Ingress controller'a bildirmek için, lütfen controller'ı aşağıda açıklandığı şekilde yapılandırın.
Adım 1: Ağ Katmanında Gerçek İstemci IP'sinin Geçilmesini Etkinleştirin¶
Bu özellik, kullanılan bulut platformuna büyük ölçüde bağlıdır; çoğu durumda, values.yaml
dosyası özniteliği controller.service.externalTrafficPolicy
değeri Local
olarak ayarlanarak etkinleştirilebilir:
Adım 2: Ingress Controller'ın X-FORWARDED-FOR HTTP İstek Başlığından Değeri Almasını Etkinleştirin¶
Genellikle, yük dengeleyiciler, özgün istemci IP adresini içeren HTTP başlığı X-Forwarded-For
ekler. Tam başlık adını yük dengeleyici dokümantasyonunda bulabilirsiniz.
Wallarm Ingress controller, controller values.yaml
dosyası aşağıdaki şekilde yapılandırıldığında, bu başlıktan gerçek uç kullanıcı IP adresini alabilir:
-
forwarded-for-header
parametresinde, özgün istemci IP adresini içeren yük dengeleyici başlık adını belirtiniz
Other recommendations
Wallarm’s version of the Kubernetes Ingress controller is based on the community-supported NGINX Ingress controller for Kubernetes, so the majority of recommendations found in the official Ingress controller documentation and on the public Internet are also applicable to Wallarm’s Ingress controller.
Recommended reading: