在 Nginx 中,我正在检查 IP 是否来自被封锁的国家。如果是,那么访问者会收到 403。我需要添加列入白名单的 IP 以允许他们进入,即使他们是被封锁国家的一部分。
我更愿意将 nginx.conf 位置的 IP 列入白名单,这样我就不需要更新 30 多个虚拟主机文件。我怎样才能做到这一点?
在 /etc/nginx/sites-enabled 中的每个 nginx 虚拟主机文件中
location / {
if ($allowed_country = no) {
return 403;
}
try_files $uri $uri/ /index.php$is_args$args;
}
国家/地区列表在 /etc/nginx/nginx.conf 中创建
## GEOIP settings
geoip_country /usr/share/GeoIP/GeoIP.dat;
map $geoip_country_code $allowed_country {
default yes;
RU no;
BR no;
UA no;
PH no;
IN no;
CN no;
}