菜鸡源码,专注精品下载!
当前位置:首页 > 建站教程 > 调试安装

标题:限制Nginx仅允许Cloudflare IP访问以获取真实IP

发布时间:2024-01-04  栏目:调试安装   浏览:   分类:nginx教程

要实现Nginx只允许Cloudflare IP访问获取真实IP,可以在Nginx配置文件中添加以下内容: ``` location / { if ($http_cf_connecting_ip != "") { set $real_ip $http_cf_connecting_ip; } if ($http_x_forwarded_for != "") { set $real_ip $http_x_forwarded_for; } if ($remote_addr != $real_ip) { return 403; } } ``` 这段代码首先检查`$http_cf_connecting_ip`变量是否为空,如果不为空,则将其值赋给`$real_ip`。接着检查`$http_x_forwarded_for`变量是否为空,如果不为空,则将其值赋给`

Nginx设置只允许Cloudflare IP访问后获取真实访客IP,跟普通套Cloudflare获取真实访客IP的方法不一样。

要使用map指令将客户端的 IP 存储到变量(ie$real_client_ip)中,并在日志中使用该变量:

#这些放在配置文件头部---map$http_x_forwarded_for$real_client_ip{~^(\d+\.\d+\.\d+\.\d+)$1;default$http_cf_connecting_ip;}#replacethedefault'$remote_addr'withthe'$real_client_ip'log_formatcustom_log_format'$real_client_ip-$remote_user[$time_local]''"$request"$status$body_bytes_sent''"$http_host""$upstream_response_time"''"$http_referer""$http_user_agent"';#这些放在配置文件头部---server{listen80;listen[::]:80;server_nameexample.com;include/etc/nginx/allow-cloudflare-only.conf;#在生成日志文件后面加上custom_log_formataccess_log/var/log/nginx/access.logcustom_log_format;#...therestofyourconfigshere...}


相关专题
评论
调试安装
建站知识
使用技巧
调试安装
运营推广