Skip to main content

Замена mod_rpaf на mod_remoteip ў Apache 2.4



Сёння абнавіў на сваім сэрвэры Debian да Jessie і выявіў праблему: модуль mod_rpaf ня адлюстроўваў правільны ip-адрас кліента, замест гэтага адлюстроўваўся ip 127.0.0.1, пры проксировании запытаў ад nginx да apache.



Вырашаецца праблема вельмі проста: деактивируем / выдаляем mod_rpaf і актывуецца mod_remoteip камандай:

  # A2enmod mod_remoteip 

Перазагружаем apache . Цяпер адкрываем конфіг-файл з віртуальнымі хастамі і для кожнага сайта прапісваем наступнае:

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

Зноў перазапускаем apache.




Як вы ацэніце артыкул?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (5 адзнак, сярэдняе: 3,20 з 5)
Загрузка ...

” 9 Каментарыі "Замена mod_rpaf на mod_remoteip ў Apache 2.4"

  1. А ці не маглі б вы падрабязней апісаць працэдуру замены rpaf на remoteip? Якія конфігі паправіць і гэтак далей, а то проста ўжо многае перакаштаваў і нічога не атрымліваецца. Загадзя дзякуй!

    1. Размяшчэнне конфігу залежыць ад таго, як у вас настроены сайты. Але тут толькі два шляхі: альбо віртуальныя серверы прапісаны ў файле /etc/apache2/apache2.conf, альбо ў нейкім файле ў каталогу /etc/sites-available/example.com.conf, дзе example.com адпавядае дамену сайта.

      Канфігурацыю remoteip, указаную ў пасце, трэба прапісваць у секцыю

        <VirtualHost *: 80>
      
       </ VirtualHost> 

      Ўстаноўка remoteip не патрабуецца, паколькі ён ідзе ў камплекце. Трэба толькі актываваць.

  2. На жаль вэб-сервер настройваў іншы чалавек, таму крыху заблытаўся. Варта звязак nginx + apache 2.4.10. Мяркуючы па модулях, rpaf быў усталяваны і настроены, так як праблемы з'явіліся менавіта пасля апдэйта да 8 Дебіан. remoteip не быў устаноўлены і прыйшлося ставіць яго рукамі.

    Сапраўды, конфігі ляжаць асобна ў / sites-available /

    Конфіг апача: http://pastebin.com/c47s8Zuw
    Конфіг nginx: http://pastebin.com/ebWNS8ME (вось накшталт у гэтым конфіге і прапісаны налады для rpaf).

    Падкажыце, як карэктна выключыць гэты модуль (rpaf) і, калі магчыма, падкажыце па конфігаў, так як думаю што ёсць нейкі канфлікт паміж модулямі.

    1. Mod rpaf выключаецца камандай a2dismod rpaf, затым трэба перазапусціць apache: service apache2 restart.

      Потым можна і выдаліць яго: aptitude remove libapache2-mod-rpaf.

      У вашых конфігах канфліктаў няма, як і налад rpaf. Яго налады размяшчаюцца ў файле /etc/apache2/mods-available/rpaf.conf. Дастаткова выключыць і канфлікт павінен прорву.

  3. Раней у нас выкарыстоўвалася звязак IIS + Apache проксі балансировщик, зараз вырашылі адмовіцца ад IIS і зрабіць на адным сэрвісе Apache вэб-сервер + проксі балансировщик, усё атрымалася, але рэальныя IP-адрасы кліентаў не перадаюцца ў web-дадатак і адлюстроўваюцца як лакальны адрас Apache . Прашу дапамагчы разабрацца з ПрОбЛеМкА, вось конфіг апача:
    https://drive.google.com/open?id=0ByrqLF_MjfmvVVd1QjM2TjNhd00
    спрабаваў падставіць і RemoteIPHeader X-Real-IP і RemoteIPHeader X-Forwarded-For

    1. А што выкарыстоўваецца ў якасці проксі-балансировщика? Я так разумею, apache стаіць перад ім, як фронтенд, праўда?

      Як варыянт, паспрабаваць прапісаць гэта:

        RemoteIPHeader X-Client-IP 
      1. у якасці балансировщика выкарыстоўваецца гэты ж сэрвіс Apache (вэб-сервер + проксі балансировщик), і вось з гэтага Apache ўжо ідуць запыты на дадатак унутры сеткі. Параметр X-Client-IP таксама спрабаваў. Дадатак грунтуецца на Oracle IAS, там дарэчы ўбудаваны ўнутры яго яшчэ адзін Apache. Але ён да IP адрасах дакладна не мае дачынення.

        1. Нажаль, наўрад-ці я змагу дапамагчы чым-то ў вашай канкрэтнай сітуацыі. З такім сутыкацца не даводзілася. :(

Дадаць каментар

Ваш e-mail не будзе апублікаваны.