文章目录
- `Nginx` 实现地域访问控制
- 1、获取`Ip`地址库并转换为geo格式(这里以国内ip作为示例)
- 1.1、`ip_list.conf` 格式示例:
- 1.2、将文件移动到` /www/server/nginx/conf/`
- 2、在`nginx` `http`模块中引入`ip_list.conf`配置
- 3、`server`模块中
- 4、重载`Nginx`
- 5、测试
Nginx实现地域访问控制
1、获取Ip地址库并转换为geo格式(这里以国内ip作为示例)
# 获取ip地址库curl-s https://raw.githubusercontent.com/17mon/china_ip_list/master/china_ip_list.txt\>|awk'BEGIN{print "geo $ip_list {\n default 0;"} {print " "$1" 1;"} END{print "}"}'\>>/opt/ip_list.conf1.1、ip_list.conf格式示例:
geo$ip_list{default0;1.0.1.0/241;...}1.2、将文件移动到/www/server/nginx/conf/
mv/opt/ip_list.conf /www/server/nginx/conf/2、在nginxhttp模块中引入ip_list.conf配置
http{include mime.types;# include ip_list.confinclude /www/server/nginx/conf/ip_list.conf;...3、server模块中
server{listen443ssl http2;server_name baidu.com;# 如果是conf中的ip直接returnif($ip_list){return403;}...4、重载Nginx
nginx -t&&nginx -s reload