Hur man aktiverar mod_remoteip i Apache2
Varför använda mod_remoteip i Apache2
Mod_remoteip tillåter Apache2 att hämta besökarens IP från förfrågningar som tas emot från proxyservrar och lastbalanserare. Det ger dig den faktiska IP-adressen för besökaren. Ursprungsservern återställer den faktiska informationen och loggar den ursprungliga besökarens IP-adress istället för proxy-IP-adressen.
Den här guiden kommer att förklara hur man installerar och ställer in mod_remoteip på Apache2 på Ubuntu 22.04 för att återställa ursprunglig besökarinformation från Cloudflare.
Aktivera remoteip mod
Aktivera först remoteipmoden:
sudo a2enmod remoteip
Starta sedan om Apache:
sudo systemctl restart apache2
För varje virtuell domäninstallation genom Cloudflare lägg till RemoteIPHeader- direktivet som är CF-Connecting-IP:
<VirtualHost *:80>
ServerName din_domän
ServerAlias www.din_domän
ServerAdmin webmaster@localhost DocumentRoot /var/www/din_domän
RemoteIPHeader CF-Connecting-IP
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
I Apaches huvudkonfigurationsfil apache.conf vid Log Format-direktiven, hitta och ersätt %h med %a enligt exempel nedan:
sudo nano /etc/apache2/apache2.conf
/etc/apache2/apache2.conf
LogFormat ”%v:%p %a %l %u %t \”%r\” %>s %O \”%{Referer}i\” \”%{User-Agent}i\”” vhost_combined
LogFormat ”%a %l %u %t \”%r\” %>s %O \”%{Referer}i\” \”%{User-Agent}i\”” combined
LogFormat ”%a %l %u %t \”%r\” %>s %O” common
LogFormat ”%{Referer}i -> %U” referer LogFormat ”%{User-agent}i” agent
Redigera konfiguration och definiera betrodda proxyservrar
För att skicka den riktiga klientens IP-adress från Cloudflare till Apache måste vi definiera RemoteIP Headerdirektivet som CF-Connecting-IP i remoteip konfigurationsfilen /etc/apache2/conf-enabled/remoteip.conf.
Skapa remoteip.confkonfigurationsfilen:
sudo nano /etc/apache2/conf-enabled/remoteip.conf
Lägg bara till RemoteIPHeader CF-Connecting-IP som första rad och sedan en lista över betrodda Cloudflare-proxyer under den ( RemoteIPTrustedProxy). Eftersom det är lätt för hackare att förfalska CF-Connecting-IP i http-huvudet måste vi se till att Apache vet vilka proxyservrar som ska lita på. Cloudflare håller en uppdaterad lista över dessa proxyservrar här: Cloudflare IPv4 Proxies och Cloudflare IPv6 Proxies .
/etc/apache2/conf-enabled/remoteip.conf
RemoteIPHeader CF-Connecting-IP
RemoteIPTrustedProxy 173.245.48.0/20
RemoteIPTrustedProxy 103.21.244.0/22
RemoteIPTrustedProxy 103.22.200.0/22
RemoteIPTrustedProxy 103.31.4.0/22
RemoteIPTrustedProxy 141.101.64.0/18
RemoteIPTrustedProxy 108.162.192.0/18
RemoteIPTrustedProxy 190.93.240.0/20
RemoteIPTrustedProxy 188.114.96.0/20
RemoteIPTrustedProxy 197.234.240.0/22
RemoteIPTrustedProxy 198.41.128.0/17
RemoteIPTrustedProxy 162.158.0.0/15
RemoteIPTrustedProxy 104.16.0.0/12
RemoteIPTrustedProxy 172.64.0.0/13
RemoteIPTrustedProxy 131.0.72.0/22
RemoteIPTrustedProxy 2400:cb00::/32
RemoteIPTrustedProxy 2606:4700::/32
RemoteIPTrustedProxy 2803:f800::/32
RemoteIPTrustedProxy 2405:b500::/32
RemoteIPTrustedProxy 2405:8100::/32
RemoteIPTrustedProxy 2a06:98c0::/29
RemoteIPTrustedProxy 2c0f:f248::/32
Spara och avsluta (tryck på CTRL + X, tryck Y och tryck sedan på ENTER)
Nästa steg är att testa Apache2-konfigurationen
Starta sedan om Apache:
sudo apache2ctl configtest
sudo systemctl reload apache2
Om Apache inte upptäcker CF-Connecting-IPi HTTP-huvudet (t.ex. om Cloudflare är avstängt eller inte konfigurerat för en viss virtuell värd), kommer den att falla tillbaka till fjärradressen (REMOTE_ADDR).
Om Apache upptäcker CF-Connecting-IP men det kommer från en IP som inte är definierad i RemoteIPTrustedProxy (t.ex. en hacker som försöker förfalska rubrikerna), kommer Apache att falla tillbaka till fjärradressen (REMOTE_ADDR).
0 kommentarer