后端Nginx网站使用CDN、反代之后封禁用户真实IP

746次阅读
没有评论

共计 932 个字符,预计需要花费 3 分钟才能阅读完成。

名词说明

  1. Nginx 配置目录:/path/to/nginx/conf
    • 宝塔:/www/server/nginx/conf
  2. Nginx 主配置文件:/path/to/nginx/conf/nginx.conf
    • 宝塔:/www/server/nginx/conf/nginx.conf
  3. Nginx 虚拟域名配置文件:/path/to/nginx/conf/vhost/Waf.conf
    • 宝塔:/www/server/panel/vhost/nginx/Waf.conf
  4. waf_ipcfg.conf  解析前端机器透传的用户真实 IP 信息
  5. waf_blacklist.conf  封禁 IP 配置

步骤

  • 新建文件:waf_ipcfg.conf
# 应用于反向代理模式 - 确保后端机器获取真实用户 IP
map $http_x_forwarded_for  $clientRealIp {
  ""      $remote_addr;
  ~^(?P[0-9\.]+),?.*$  $firstAddr;
}
  • 新建文件:waf_blacklist.conf
# IP 黑名单配置
# 样例:封禁 8.8.8.0/24 和 8.8.8.8 和 8.8.4.4
if ($clientRealIp ~* "8.8.8.0/24|8.8.8.8|8.8.4.4") {
    return 403;
    break;
}
  • waf_ipcfg.confwaf_blacklist.conf 文件放入 Nginx 配置目录;
  • 在 Nginx 主配置文件中 http 段 引入 waf_ipcfg.conf
include /path/to/conf/waf_ipcfg.conf; # 样例
include /www/server/nginx/conf/waf_ipcfg.conf# 宝塔 
  • 在 Nginx 虚拟域名配置文件中的 server 段 引入 waf_blacklist.conf 配置;
include /path/to/conf/waf_blacklist.conf; # 样例
include /www/server/nginx/conf/waf_blacklist.conf; # 宝塔 
  • 配置完成后,记得检验配置文件是否正确,正确无误之后方可重启 Nginx。
nginx -t # 检验 Nginx 配置文件是否正确
service nginx reload # 重启 Nginx
正文完
 0
评论(没有评论)
验证码