无限星辰工作室-客户无限互联网动力之源

标题: 使用Cloudflare后配置Nginx获取客户端IP [打印本页]

作者: crx349    时间: 2022-8-23 23:05
标题: 使用Cloudflare后配置Nginx获取客户端IP
需求

使用Cloudflare作为cdn加速前端,需要nginx获取真实访客ip地址

环境:
centos 7.9 X64 宝塔 7

解决:

宝塔下需要在 计划任务 里面
配置一个脚本(每10分钟执行一次)
  1. #!/usr/bin/env bash
  2. # 功能: 生成 cloudflare 代理IP列表,用户配置nginx获取客户端真实IP地址

  3. cf_ipv4="https://www.cloudflare.com/ips-v4"
  4. cf_ipv6="https://www.cloudflare.com/ips-v6"
  5. mod_cffile="/www/server/panel/vhost/nginx/cloudflare.conf"

  6. get_cfipinfo() {
  7.     # 生成nginx配置记录格式: set_real_ip_from 127.0.0.0/22;
  8.     curl $cf_ipv4 2>/dev/null | grep -v '#' | grep -v '^$' | sed 's/^/set_real_ip_from /g;s/$/;/g'
  9.     curl $cf_ipv6 2>/dev/null | grep -v '#' | grep -v '^$' | sed 's/^/set_real_ip_from /g;s/$/;/g'
  10.    
  11.     echo
  12.     # echo "real_ip_header CF-Connecting-IP;"
  13.     echo "real_ip_header X-Forwarded-For;"
  14.     echo
  15. }

  16. get_cfipinfo  | tee $mod_cffile

复制代码


说明下 /www/server/panel/vhost/nginx 路径为使用宝塔面板的默认目录

这样nginx就可以获取真实访问客户端ip了





欢迎光临 无限星辰工作室-客户无限互联网动力之源 (https://xmspace.net/) Powered by Discuz! X3.4