It seems the actual geoip2_data_country_iso_code country code for the UK is GB (great britain).
Maxmind Docker mod for Nginx based images
This mod adds the maxmind database to nginx using the license key defined in the environment variable.
This mod downloads the GeoLite2-City.mmdb database under /config/geoip2db, the database is updated weekly.
This mod should not be enabled together with the swag-dbip mod.
Follow these steps to enable the maxmind mod:
-
Acquire a maxmind license here: https://www.maxmind.com/en/geolite2/signup
-
In the container's docker arguments, set an environment variable
DOCKER_MODS=linuxserver/mods:swag-maxmindIf adding multiple mods, enter them in an array separated by
|, such asDOCKER_MODS=linuxserver/mods:swag-maxmind|linuxserver/mods:swag-mod2 -
In the container's docker arguments, set an environment variable
MAXMINDDB_LICENSE_KEY=<license-key>with your license key. -
Recreate the container to apply the changes.
-
Add the following line to
/config/nginx/nginx.confunder thehttpsection:include /config/nginx/maxmind.conf; -
Edit
/config/nginx/maxmind.confand add countries to the blocklist / whitelist according to the comments, for example:map $geoip2_data_country_iso_code $geo-whitelist { default no; GB yes; } map $geoip2_data_country_iso_code $geo-blacklist { default yes; US no; } -
Use the definitions in the following way:
server { listen 443 ssl; listen [::]:443 ssl; server_name some-app.*; include /config/nginx/ssl.conf; client_max_body_size 0; if ($lan-ip = yes) { set $geo-whitelist yes; } if ($geo-whitelist = no) { return 404; } location / { -
Restart the container to apply the changes.