Nginx front, Ubuntu yükseltmesinden sonra Apache arka ucu ile mod_rpaf sorunları


10

Statik dosyalar için bir Nginx ön uç çalıştırıyorum ve arka uçta doğru uzak IP adresini ayarlamak için Apache mod_rpaf kullanarak PHP ve Passenger için bir Apache arka ucuna proxy veriyorum. Ubuntu 12.04'e (Hassas) yükseltilene kadar her şey iyi çalıştı. Şimdi Apache 127.0.0.1'den gelen tüm bağlantıları rapor ediyor.

İşte ilgili yapılandırma. Yükseltme ile birlikte burada hiçbir şey değişmedi.

nginx:

proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;

mod_rpaf:

<IfModule mod_rpaf.c>
    RPAFenable On
    RPAFsethostname On
    RPAFproxy_ips 127.0.0.1 ::1
    RPAFheader X-Forwarded-For
</IfModule>

Ben kullanıyorum %{X-Forwarded-For}ibenim Apache LogFormat yönergesi ve ben Nginx düzgün boyunca adresini geçiyor bilmeleri erişim günlükleri, doğru uzaktan adresini gösteriyor.

Bir phpinfo()testte, HTTP_X_FORWARDED_FOR doğru uzak adresi gösteriyor, ancak REMOTE_ADDR 127.0.0.1. Bu, WordPress yorumları gibi PHP uygulamalarına da yansır.

Hiçbir etkisi ile X-Real-IP Nginx ve mod_rpaf geçiş denedim.

Kaçırdığım bir şey mi değişti?

İlgili sürüm bilgileri, Ubuntu deposundan yüklenen her şey:

Nginx 1.1.19
Apache 2.2.22
mod_rpaf 0.6

Yanıtlar:


10

Sadece bununla uğraşıyordum. Cuma günü bir Ubuntu hatası onaylandı. Değiştirerek işleri tekrar çalıştırabilirsiniz:

<IfModule mod_rpaf.c>

için

<IfModule mod_rpaf-2.0.c>

/etc/apache2/mods-available/rpaf.conf içinde


12.04'e yükselttikten sonra tamamen aynı sorunu yaşadım ve bu yazıyı bulmadan önce bu konuda yarım gün kaybettim. Teşekkür ederim!
Kouber Saparev


1
14.04'e yükselttikten sonra bu gönderiye gelen herkes için bu düzeltme artık geçerli olmayacak; yerine kullanmak isteyeceksiniz mod_remoteipyerine mod_rpaf.
Stefan Magnuson

1

mod_rpaf, Debian Jessie'de kullanımdan kaldırılmış gibi görünüyor ve daha fazla gelişme durduruldu. Debian Jessie'deki varsayılan modül olan mod_remoteip'e geçin.


0

Sadece bu soru için bir güncelleme. Mod_rpaf değişkenlerinin formatı değişti - Apache yukarıda listelenenlerle başlamayı reddedecek (RPAFenable, RPAFsethostname, RPAFproxy_ips, RPAFheader).

Yeni biçim aşağıdaki gibidir:

LoadModule              rpaf_module modules/mod_rpaf.so
RPAF_Enable             On
RPAF_ProxyIPs           127.0.0.1 10.0.0.0/24
RPAF_SetHostName        On
RPAF_SetHTTPS           On
RPAF_SetPort            On
RPAF_ForbidIfNotProxy   Off
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.