|
|
| (не показаны 2 промежуточные версии этого же участника) |
| Строка 1: |
Строка 1: |
| − | Для ограничения доступа к сайту пользователей из определенных стран можно использовать модуль GeoIP. Делаем на примере Debian Buster
| |
| | | | |
| − |
| |
| − | Ставим модуль
| |
| − | apt-get install nginx-module-geoip
| |
| − |
| |
| − |
| |
| − | Проверяем что он появился в /etc/nginx/modules
| |
| − | ngx_http_geoip_module.so
| |
| − |
| |
| − |
| |
| − | Подключаем модуль в основном конфиге nginx.conf
| |
| − | load_module modules/ngx_http_geoip_module.so;
| |
| − |
| |
| − |
| |
| − | Скачиваем базу GeoIP, кладём её в /usr/share/Geoip
| |
| − |
| |
| − |
| |
| − | В каталоге с конфигурационными файлами Nginx создаём файл include.d/block.map с нужными блокировками
| |
| − |
| |
| − | В данном примере запрещаем доступ к сайту пользователям из Китая, Вьетнама и Тайваня
| |
| − | geoip_country /usr/share/GeoIP/GeoIP.dat;
| |
| − | map $geoip_country_code $allowed_country {
| |
| − | default yes;
| |
| − | CN no;
| |
| − | VN no;
| |
| − | TW no;
| |
| − | }
| |
| − |
| |
| − | В данном примере доступ к сайту разрешён только пользователям из России и Украины
| |
| − | geoip_country /usr/share/GeoIP/GeoIP.dat;
| |
| − | map $geoip_country_code $allowed_country {
| |
| − | default no;
| |
| − | RU yes;
| |
| − | UA yes;
| |
| − | }
| |
| − |
| |
| − |
| |
| − | В блоке server виртуального хоста описываем, что будет возвращать nginx, если совпадёт условие. Например, вернём 403
| |
| − | if ($allowed_country = no) {
| |
| − | return 403;
| |
| − | }
| |
| − |
| |
| − | Перегружаем nginx и проверяем
| |