Przejdź do głównej zawartości

Zastępowanie mod_rpaf przez mod_remoteip w Apache 2.4



Dzisiaj zaktualizowałem Debiana do Jessie na moim serwerze i znalazłem problem: moduł mod_rpaf nie wyświetlał poprawnego adresu IP klienta, zamiast tego adres IP 127.0.0.1 był wyświetlany podczas pośredniczenia w żądaniach z nginx do apache.



Problem rozwiązuje się bardzo prosto: dezaktywuj / usuń mod_rpaf i aktywuj mod_remoteip za pomocą polecenia:

  # a2enmod mod_remoteip 

Zrestartuj apache . Teraz otwórz plik konfiguracyjny z wirtualnymi hostami i dla każdej witryny wpisujemy:

  <IfModule remoteip_module>
 RemoteIPHeader X-Forwarded-For
 RemoteIPTrustedProxy 127.0.0.1
 </ IfModule> 

Ponownie uruchom apache ponownie.




Jak oceniasz artykuł?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 ( 5 ocen, średnia: 3.20 na 5)
Ładowanie ...

” 9 komentarzy " Zastąpienie mod_rpaf przez mod_remoteip w Apache 2.4 "

  1. Ale czy mógłbyś bardziej szczegółowo opisać procedurę wymiany rpaf na remoteip? Co konfiguruje się naprawić, i tak dalej, w przeciwnym razie po prostu dużo próbowałem i nic się nie dzieje. Z góry dziękuję!

    1. Konfiguracja lokalizacji zależy od tego, jak skonfigurujesz witryny. Ale są tylko dwa sposoby: albo serwery wirtualne są zarejestrowane w pliku /etc/apache2/apache2.conf, albo w jakimś pliku w katalogu /etc/sites-available/example.com.conf, gdzie example.com odpowiada domenie witryny.

      Konfiguracja zdalna określona w poście, należy zarejestrować się w sekcji

        <VirtualHost *: 80>
      
       </ Virtualhost> 

      Instalacja zdalnego dostępu nie jest wymagana, ponieważ jest dołączona. Musisz tylko aktywować.

  2. Niestety, serwer WWW został skonfigurowany przez inną osobę, więc trochę zdezorientowany. Istnieje paczka nginx + apache 2.4.10. Sądząc po modułach, rpaf został zainstalowany i skonfigurowany, ponieważ problemy pojawiły się tuż po aktualizacji do debian 8. remote nie został zainstalowany i musiał go ręcznie umieścić.

    Rzeczywiście, konfiguracje są oddzielne w / sites-available /

    Konfiguracja Apache: http://pastebin.com/c47s8Zuw
    Konfiguracja Nginx: http://pastebin.com/ebWNS8ME (tutaj taka konfiguracja zawiera ustawienia dla rpaf).

    Powiedz mi, jak poprawnie wyłączyć ten moduł (rpaf) i, jeśli to możliwe, powiedzieć przez config, ponieważ myślę, że istnieje jakiś konflikt między modułami.

    1. Mod rpaf jest wyłączony przez a2dismod rpaf , następnie musisz ponownie uruchomić apache: service apache2 restart.

      Możesz go wtedy usunąć: aptitude remove libapache2-mod-rpaf.

      W twoich konfiguracjach nie ma konfliktów, a także ustawienia rpaf. Jego ustawienia znajdują się w pliku /etc/apache2/mods-available/rpaf.conf. Wystarczy wyłączyć i konflikt powinien zniknąć.

  3. Wcześniej używaliśmy kilku serwerów proxy IIS + Apache, teraz zdecydowaliśmy się zrezygnować z usług IIS i utworzyć serwer WWW + serwer proxy w jednej usłudze Apache, wszystko działało, ale prawdziwe adresy IP klientów nie są przesyłane do aplikacji internetowej i są wyświetlane jako lokalny adres serwera Apache . Proszę o pomoc w rozwiązaniu problemu, oto konfiguracja apache:
    https://drive.google.com/open?id=0ByrqLF_MjfmvVVd1QjM2TjNhd00
    próbował zastąpić i RemoteIPHeader X-Real-IP i RemoteIPHeader X-Forwarded-For

    1. A co jest używane jako serwer równoważący proxy? Rozumiem, że apache jest przed nim, jak frontend, prawda?

      Opcjonalnie, zarejestruj się:

        RemoteIPHeader X-Client-IP 
      1. jako równoważnik używana jest ta sama usługa Apache (serwer WWW + serwer proxy), az tego Apache już są żądania aplikacji w sieci. Wystąpił również parametr X-Client-IP. Aplikacja oparta jest na Oracle IAS, tak na marginesie, wbudowany jest inny Apache. Ale nie ma to nic wspólnego z adresami IP.

Dodaj komentarz

Twój e-mail nie zostanie opublikowany.