Ich habe eine Reihe von Nginx-Servern hinter einem Amazon ELB-Load-Balancer. Ich verwende set_real_ip (aus dem HttpRealIpModule ), damit ich auf die IP-Adresse des Ursprungsclients auf diesen Servern zugreifen kann (zur Weiterleitung an php-fpm und zur Verwendung im HttpGeoIPModule ).
Es scheint, dass set_real_ip_from
in der Nginx-Konfiguration nur eine IP-Adresse akzeptiert werden kann. In Bezug auf ELB-Maschinen sagt Amazon jedoch:
Hinweis: Da sich die einem LoadBalancer zugeordneten IP-Adressen im Laufe der Zeit ändern können, sollten Sie niemals einen "A" -Datensatz mit einer bestimmten IP-Adresse erstellen. Wenn Sie anstelle des vom Elastic Load Balancing-Dienst generierten Namens einen benutzerfreundlichen DNS-Namen für Ihren LoadBalancer verwenden möchten, sollten Sie einen CNAME-Eintrag für den LoadBalancer-DNS-Namen erstellen oder eine gehostete Zone mit Amazon Route 53 erstellen. Weitere Informationen finden Sie unter Verwenden von Domänennamen mit elastischem Lastenausgleich
Wenn ich jedoch eine IP-Adresse eingeben muss, kann ich keinen CNAME verwenden (weder bei Amazon noch bei mir). Gibt es eine Lösung für dieses Problem?
10.0.0.1/8
würde funktionieren, obwohl es etwas spezifischeres geben könnte)