AWS : Remote IP hinter Application Loadbalancer
Problem : Man benötigt bei einem Webserver hinter einem AWS Application Loadbalancer die RemoteIP des Clients. Das Vorgehen ist eigentlich für alle LBs gültig.
Lösung : Ich verwende hier Debian auf anderen Distries sollte es ähnlich sein.
Es wird das Modul remoteip_module benötigt.
Lösung : Ich verwende hier Debian auf anderen Distries sollte es ähnlich sein.
Es wird das Modul remoteip_module benötigt.
a2enmod remoteipDann legt man eine neue config an und aktiviert diese.
vi /etc/apache2/conf-available/loadbalancer_remoteip.confdort diesen Inhalt einfügen
# Settings for mod_remoteip: # the Header X-Forwarded-For comes from AWS Application Loadbalancer RemoteIPHeader X-Forwarded-For RemoteIPInternalProxy xxx.xxx.xxx.xxx # 1.Loadbalancer IP Intern RemoteIPInternalProxy xxx.xxx.xxx.xxx # 2.Loadbalancer IP Intern usw. # dont log healthy checks SetEnvIf User-Agent ELB-HealthChecker nologdie config aktiviert man mit
a2enconf loadbalancer_remoteipdann anpassen der apache2.conf
# mod_remoteip LogFormat LogFormat "%a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combinedin der VHost der Website dann das CustomLog anpassen bzw. eintragen
CustomLog "/var/log/apache2/site/access.log" combined env=!nologjetzt kann man mal testen ob die config so läuft
apache2ctl configtestder output sollte lauten
root@xxx.xxx.xxx.xxx:/> apache2ctl configtest Syntax OKdann den Apache neu starten und überprüfen ob alles so läuft wie es soll
systemctl restart apache2 less +F -S /var/log/apache2/site/access.log