![Hoe u YouTube-shorts kunt repareren die niet in uw feed worden weergegeven (3 methoden)](/f/43c9daf1116f68b588453e4d572a21c0.jpg?width=100&height=100)
Mod_GeoIP is een Apache-module die kan worden gebruikt om de geografische locatie van de IK P adres van de bezoeker in de Apache web Server. Met deze module kunt u de bezoekers land, organisatie, en plaats. Het is vooral handig voor Geo-advertentieweergave, Doelinhoud, Spambestrijding, Fraude detectie, Omleiden/blokkeren bezoekers op basis van hun land en nog veel meer.
Met de GeoIP-module kunnen systeembeheerders webverkeer omleiden of blokkeren op basis van de geografische locatie van de klant. De geografische locatie wordt geleerd via het IP-adres van de klant.
Mod_GeoIP heeft twee verschillende versies een is Vrij en een andere is Betaald en gebruikt MaxMind GeoIP / GeoCity databanken.
Als je de meer verschillen wilt bekijken tussen de Vrij en Betaald versie, bezoek a.u.b. Maxmind.com.
In dit artikel wordt uitgelegd hoe u de Mod_GeoIP module voor Apache in RHEL en CentOS de... gebruiken EPEL opslagplaats met YUM pakketbeheerder nut.
We gaan ervan uit dat je al running RHEL en CentOS systeem met een werkende LAMP (Linux, Apache, MijnSQL, en PHP) opstelling. Zo niet, lees dan onze artikelen waarin we de installatie van beide besturingssystemen hebben laten zien met LAMP.
Standaard mod_Geoip is niet beschikbaar onder RHEL / CentOS officiële repository, dus we moeten een derde partij installeren en inschakelen EPEL opslagplaats.
# yum installeer epel-release. # yum installeren https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm [Op RHEL 8]
Zodra je EPEL repository ingeschakeld op uw systeem, kunt u eenvoudig installeren mod_geoip door de volgende opdracht uit te voeren met hun afhankelijkheidspakketten.
# yum install mod_geoip GeoIP GeoIP-devel GeoIP-data zlib-devel.
Het is een goed idee om de nieuwste te downloaden Geo-stad en Landendatabase om op de hoogte te blijven.
# cd /usr/share/GeoIP/ # mv GeoIP.dat GeoIP.dat_org. # wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz. # wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz. # gunzip GeoLite2-Country.tar.gz. # gunzip GeoLite2-City.tar.gz.
Nadat de module is geïnstalleerd, opent en bewerkt u het hoofdconfiguratiebestand van de module, met een opdrachtregelteksteditor zoals: vi, en activeer de module serverbreed, zoals geïllustreerd in het onderstaande fragment.
# vi /etc/httpd/conf.d/geoip.conf.
Stel de regel GeoIPEnable in vanaf Uit tot Op. Zorg er ook voor dat u het absolute pad naar het GeoIP-databasebestand toevoegt.
GeoIPEnable Aan. GeoIPDBFile /usr/share/GeoIP/GeoIP.dat MemoryCache.
Start de. opnieuw Apache service om veranderingen weer te geven.
# systemctl herstart httpd. OF. # service httpd herstart
Het wordt echter niet aanbevolen om de GeoIP-module serverbreed aan te zetten. U moet de GeoIP-module alleen inschakelen in of blokken waar u de verkeersomleiding of blokkering daadwerkelijk zou uitvoeren.
Om de. te testen mod_geoip module werkt correct met Apache, we moeten een PHP bestand genaamd testgeoip.php onder Apache hoofdmap (bijv. /var/www/html).
#vi /var/www/html/testgeoip.php.
Voeg het volgende stuk php-code erin toe.
Wat is mijn IP-adres - bepaal of haal mijn IP-adres op php if (getenv (HTTP_X_FORWARDED_FOR)) { $pipaddress = getenv (HTTP_X_FORWARDED_FOR); $ipaddress = getenv (REMOTE_ADDR); echo "Uw proxy-IP-adres is: ".$pipaddress. " (via $ipad) "; } else { $ipaddress = getenv (REMOTE_ADDR); echo "Uw IP-adres is: $ipaddress"; } $country = getenv (GEOIP_COUNTRY_NAME); $country_code = getenv (GEOIP_COUNTRY_CODE); echo "
Uw land: $country ($country_code)";
Probeer nu het bestand op te roepen met een webbrowser (bijv. http://localhost/testgeoip.php). Je krijgt je IP adres en Land details.
GeoIP-database wordt begin van elke maand bijgewerkt. Het is dus erg belangrijk om de GeoIP-database up-to-date te houden. Gebruik de volgende opdracht om de nieuwste versie van de database te downloaden.
# cd /usr/share/GeoIP/ # mv GeoIP.dat GeoIP.dat_org. # wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz. # wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz. # gunzip GeoLite2-Country.tar.gz. # gunzip GeoLite2-City.tar.gz.
We hebben een klein shellscript geschreven dat elke maand automatisch de nieuwste versie van de GeoIP-database downloadt. Plaats gewoon een van de volgende scripts onder /etc/cron.monthly.
# Automatische update van de GeoIP-database. #!/bin/sh. cd /usr/share/GeoIP. mv GeoIP.dat GeoIP.dat_org. wget -q http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz. gzip -d -f GeoLite2-Country.tar.gz
#!/bin/sh GEOIP_MIRROR=" http://geolite.maxmind.com/download/geoip/database" GEOIPDIR=/usr/share/GeoIP. TMPDIR= DATABASES="GeoLiteCity GeoLiteCountry/GeoIP asnum/GeoIPASNum GeoIPv6" indien [ -d "${GEOIPDIR}" ]; dan cd $GEOIPDIR als [ -n "${DATABASES}" ]; dan TMPDIR=$(mktemp -d geoipupdate. XXXXXXXXXX) echo "GeoIP-databases bijwerken..." voor db in $DATABASES; do fname=$(basename $db) wget --no-verbose -t 3 -T 60 "${GEOIP_MIRROR}/${db}.dat.gz" -O "${TMPDIR}/${fname}.dat .gz" gunzip -fdc "${TMPDIR}/${fname}.dat.gz" > "${TMPDIR}/${fname}.dat" mv "${TMPDIR}/${fname}.dat" "${GEOIPDIR}/${fname}.dat" chmod 0644 "${GEOIPDIR}/${ fname}.dat" gedaan [ -d "${TMPDIR}" ] && rm -rf $TMPDIR vb. fi
De onderstaande voorbeeldcode leidt gebruikers om op basis van de landcode die we hebben ingesteld op ZOALS (Azië). Op deze manier kunt u gebruikers omleiden op basis van hun provinciecode.
GeoIPEnable Aan. GeoIPDBFile /usr/share/GeoIP/GeoIP.dat # Leid één land om. Rewrite Engine aan. HerschrijfCond %{ENV: GEOIP_COUNTRY_CODE} ^ZOALS$ Herschrijfregel ^(.*)$https://www.tecmint.com$1 [R, L]
Dit voorbeeld blokkeert gebruikers op basis van de landcode die GeoIP instelt. Het onderstaande voorbeeld blokkeert gebruikers van: ZOALS (Azië) en ons (Verenigde Staten) landen.
GeoIPEnable Aan. GeoIPDBFile /usr/share/GeoIP/GeoIP.dat SetEnvIf GEOIP_COUNTRY_CODE ZOALS BlokLand. SetEnvIf GEOIP_COUNTRY_CODE ons BlokLand. #... plaats hier meer landen Deny from env=BlockCountry
In dit onderstaande voorbeeld zijn alleen gebruikers uit de onderstaande landen toegestaan.
GeoIPEnable Aan. GeoIPDBFile /usr/share/GeoIP/GeoIP.dat SetEnvIf GEOIP_COUNTRY_CODE ZOALS ToestaanLand. SetEnvIf GEOIP_COUNTRY_CODE ons ToestaanLand. #... plaats hier meer landen Ontken van alles. Toestaan van env=AllowCountry
Voor meer informatie over mod_geoip en het gebruik ervan is te vinden op: http://www.maxmind.com/app/mod_geoip. Als je problemen hebt met het opzetten van een mod_geoip-module, laat het ons dan weten via opmerkingen en vergeet niet om het met je vrienden te delen.