Website-Suche

Umleiten oder Blockieren von Datenverkehr basierend auf dem geografischen Standort des Landes mit Apache mod_geoip


In dieser Konfiguration erfahren Sie, wie Sie den Webverkehr basierend auf dem Land und dem geografischen Standort des Besuchers mit dem Geoip-Mod von Apache blockieren oder umleiten können.

Apache mod_geoip Installation

Unter der Annahme, dass Sie bereits einen Apache-Webserver installiert und ausgeführt haben, beginnen wir mit der Installation von mod_geoip:


UBUNTU/DEBIAN
apt-get install libapache2-mod-geoip
CENTOS/REDHAT/FEDORA ( epel enabled only )
yum install mod_geoip.x86_64

Vergewissern Sie sich, dass das Modul geoip und rewrite aktiviert ist:


apache2ctl -M | grep -E "geoip|rewrite"
geoip_module (shared)
rewrite_module (shared)

Wenn der obige Befehl keine Ausgabe erzeugt oder nur ein einzelner Mod aufgeführt ist, aktivieren Sie das fehlende Modul mit dem folgenden Linux-Befehl:

a2enmod geoip rewrite
Enabling module geoip.
Enabling module rewrite.

Um die neue Konfiguration zu aktivieren, müssen Sie Folgendes ausführen:


service apache2 restart

und starten Sie den Apache-Webserver neu, um die Änderungen zu übernehmen:


service apache2 restart

Umleiten des Datenverkehrs basierend auf dem geografischen Standort des Landes

Jetzt, da wir mod_geoip aktiviert haben, können wir die Konfigurationsdatei einer relevanten Site bearbeiten, die sich in /etc/apache2/sites-available/ befindet, oder die entsprechende .htaccess-Datei, um den Datenverkehr basierend auf dem geografischen Standort umzuleiten. Im folgenden Beispiel leiten wir den gesamten eingehenden Datenverkehr aus China und Indien auf die neue URL-http://example.com um:


RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(CN|IN)$
RewriteRule ^(.*)$ http://example.com/$1 [L]

Bitte beachten Sie, dass Sie, wenn Sie die obige Konfiguration in die Konfigurationsdatei der Site einfügen, Ihren Apache-Webserver neu starten müssen, um die Änderungen zu übernehmen:


service apache2 reload

Blockieren Sie den Datenverkehr basierend auf dem geografischen Standort des Landes

Wenn Sie sich entscheiden, eingehenden Datenverkehr basierend auf dem geografischen Standort des Landes zu blockieren, können Sie dies tun, indem Sie die Konfigurationsdatei einer relevanten Site bearbeiten, die sich in /etc/apache2/sites-available/ befindet. Die folgende mod_geoip Konfiguration blockiert die Länder China und Indien:


<Location />
SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE IN BlockCountry
Deny from env=BlockCountry
</Location>

Apache-Neuladen ist erforderlich, um die oben genannten Änderungen zu übernehmen. Alternativ können Sie auch die folgenden Zeilen in Ihre entsprechende .htaccess-Datei einfügen:


SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE IN BlockCountry
Deny from env=BlockCountry

Anhang

ISO 3166 Ländercodes

Liste der ISO 3166-Ländercodes, die mit dem GeoIP-Apache-Modul verwendet werden sollen:


A1 - "Anonymous Proxy"
A2 - "Satellite Provider"
O1 - "Other Country"
AD - "Andorra"
AE - "United Arab Emirates"
AF - "Afghanistan"
AG - "Antigua and Barbuda"
AI - "Anguilla"
AL - "Albania"
AM - "Armenia"
AO - "Angola"
AP - "Asia/Pacific Region"
AQ - "Antarctica"
AR - "Argentina"
AS - "American Samoa"
AT - "Austria"
AU - "Australia"
AW - "Aruba"
AX - "Aland Islands"
AZ - "Azerbaijan"
BA - "Bosnia and Herzegovina"
BB - "Barbados"
BD - "Bangladesh"
BE - "Belgium"
BF - "Burkina Faso"
BG - "Bulgaria"
BH - "Bahrain"
BI - "Burundi"
BJ - "Benin"
BL - "Saint Bartelemey"
BM - "Bermuda"
BN - "Brunei Darussalam"
BO - "Bolivia"
BQ - "Bonaire -  Saint Eustatius and Saba"
BR - "Brazil"
BS - "Bahamas"
BT - "Bhutan"
BV - "Bouvet Island"
BW - "Botswana"
BY - "Belarus"
BZ - "Belize"
CA - "Canada"
CC - "Cocos (Keeling) Islands"
CD - "Congo -  The Democratic Republic of the"
CF - "Central African Republic"
CG - "Congo"
CH - "Switzerland"
CI - "Cote d'Ivoire"
CK - "Cook Islands"
CL - "Chile"
CM - "Cameroon"
CN - "China"
CO - "Colombia"
CR - "Costa Rica"
CU - "Cuba"
CV - "Cape Verde"
CW - "Curacao"
CX - "Christmas Island"
CY - "Cyprus"
CZ - "Czech Republic"
DE - "Germany"
DJ - "Djibouti"
DK - "Denmark"
DM - "Dominica"
DO - "Dominican Republic"
DZ - "Algeria"
EC - "Ecuador"
EE - "Estonia"
EG - "Egypt"
EH - "Western Sahara"
ER - "Eritrea"
ES - "Spain"
ET - "Ethiopia"
EU - "Europe"
FI - "Finland"
FJ - "Fiji"
FK - "Falkland Islands (Malvinas)"
FM - "Micronesia -  Federated States of"
FO - "Faroe Islands"
FR - "France"
GA - "Gabon"
GB - "United Kingdom"
GD - "Grenada"
GE - "Georgia"
GF - "French Guiana"
GG - "Guernsey"
GH - "Ghana"
GI - "Gibraltar"
GL - "Greenland"
GM - "Gambia"
GN - "Guinea"
GP - "Guadeloupe"
GQ - "Equatorial Guinea"
GR - "Greece"
GS - "South Georgia and the South Sandwich Islands"
GT - "Guatemala"
GU - "Guam"
GW - "Guinea-Bissau"
GY - "Guyana"
HK - "Hong Kong"
HM - "Heard Island and McDonald Islands"
HN - "Honduras"
HR - "Croatia"
HT - "Haiti"
HU - "Hungary"
ID - "Indonesia"
IE - "Ireland"
IL - "Israel"
IM - "Isle of Man"
IN - "India"
IO - "British Indian Ocean Territory"
IQ - "Iraq"
IR - "Iran -  Islamic Republic of"
IS - "Iceland"
IT - "Italy"
JE - "Jersey"
JM - "Jamaica"
JO - "Jordan"
JP - "Japan"
KE - "Kenya"
KG - "Kyrgyzstan"
KH - "Cambodia"
KI - "Kiribati"
KM - "Comoros"
KN - "Saint Kitts and Nevis"
KP - "Korea -  Democratic People's Republic of"
KR - "Korea -  Republic of"
KW - "Kuwait"
KY - "Cayman Islands"
KZ - "Kazakhstan"
LA - "Lao People's Democratic Republic"
LB - "Lebanon"
LC - "Saint Lucia"
LI - "Liechtenstein"
LK - "Sri Lanka"
LR - "Liberia"
LS - "Lesotho"
LT - "Lithuania"
LU - "Luxembourg"
LV - "Latvia"
LY - "Libyan Arab Jamahiriya"
MA - "Morocco"
MC - "Monaco"
MD - "Moldova -  Republic of"
ME - "Montenegro"
MF - "Saint Martin"
MG - "Madagascar"
MH - "Marshall Islands"
MK - "Macedonia"
ML - "Mali"
MM - "Myanmar"
MN - "Mongolia"
MO - "Macao"
MP - "Northern Mariana Islands"
MQ - "Martinique"
MR - "Mauritania"
MS - "Montserrat"
MT - "Malta"
MU - "Mauritius"
MV - "Maldives"
MW - "Malawi"
MX - "Mexico"
MY - "Malaysia"
MZ - "Mozambique"
NA - "Namibia"
NC - "New Caledonia"
NE - "Niger"
NF - "Norfolk Island"
NG - "Nigeria"
NI - "Nicaragua"
NL - "Netherlands"
NO - "Norway"
NP - "Nepal"
NR - "Nauru"
NU - "Niue"
NZ - "New Zealand"
OM - "Oman"
PA - "Panama"
PE - "Peru"
PF - "French Polynesia"
PG - "Papua New Guinea"
PH - "Philippines"
PK - "Pakistan"
PL - "Poland"
PM - "Saint Pierre and Miquelon"
PN - "Pitcairn"
PR - "Puerto Rico"
PS - "Palestinian Territory"
PT - "Portugal"
PW - "Palau"
PY - "Paraguay"
QA - "Qatar"
RE - "Reunion"
RO - "Romania"
RS - "Serbia"
RU - "Russian Federation"
RW - "Rwanda"
SA - "Saudi Arabia"
SB - "Solomon Islands"
SC - "Seychelles"
SD - "Sudan"
SE - "Sweden"
SG - "Singapore"
SH - "Saint Helena"
SI - "Slovenia"
SJ - "Svalbard and Jan Mayen"
SK - "Slovakia"
SL - "Sierra Leone"
SM - "San Marino"
SN - "Senegal"
SO - "Somalia"
SR - "Suriname"
SS - "South Sudan"
ST - "Sao Tome and Principe"
SV - "El Salvador"
SX - "Sint Maarten"
SY - "Syrian Arab Republic"
SZ - "Swaziland"
TC - "Turks and Caicos Islands"
TD - "Chad"
TF - "French Southern Territories"
TG - "Togo"
TH - "Thailand"
TJ - "Tajikistan"
TK - "Tokelau"
TL - "Timor-Leste"
TM - "Turkmenistan"
TN - "Tunisia"
TO - "Tonga"
TR - "Turkey"
TT - "Trinidad and Tobago"
TV - "Tuvalu"
TW - "Taiwan"
TZ - "Tanzania -  United Republic of"
UA - "Ukraine"
UG - "Uganda"
UM - "United States Minor Outlying Islands"
US - "United States"
UY - "Uruguay"
UZ - "Uzbekistan"
VA - "Holy See (Vatican City State)"
VC - "Saint Vincent and the Grenadines"
VE - "Venezuela"
VG - "Virgin Islands -  British"
VI - "Virgin Islands -  U.S."
VN - "Vietnam"
VU - "Vanuatu"
WF - "Wallis and Futuna"
WS - "Samoa"
YE - "Yemen"
YT - "Mayotte"
ZA - "South Africa"
ZM - "Zambia"
ZW - "Zimbabwe"

Verwandte Artikel: