背景: 公司后端服务器存在安全漏洞,但是项目老旧已无人维护,最少成本就是接入阿里云waf应用防火墙。但是原始公网ip入口已经暴漏,所以需要拒绝直接通过原始ip访问该域名,只允许上游为waf应用防火墙ip访问。
查看阿里云web应用防火墙ip段,见官网
Web应用防火墙回源IP网段列表
在/etc/nginx/nginx.conf
include conf.d/map.conf
# cat map.conf
map $http_x_forwarded_for $access {
default false;
include /etc/nginx/conf.d/ip_allow;
}
将上面ip网段列表转换为ip
# cat ip_allow
~*121.43.18 ture;
~*120.25.115 ture;
~*101.200.106 ture;
~*120.55.177 ture;
~*120.27.173 ture;
~*120.55.107 ture;
~*123.57.117 ture;
~*120.76.16 ture;
~*182.92.253.32 ture;
~*182.92.253.33 ture;
对应域名的配置文件添加
if ($access = false){
return 403;
}
以上nginx日志为标准json日志格式,方便日志收集
log_format json '{"time": "