服务器测评网
我们一直在努力
广告
广告
广告
广告
广告
广告
广告
广告
广告
广告

Nginx 只允许来自 Cloudflare IP 的访问

广告
广告

前言

配置只允许来自 Cloudflare IP 的访问,有助于隐藏实际服务器的 IP 地址,提高服务器的安全性。

Cloudflare 的 IP 地址范围可以查看: https://www.cloudflare.com/zh-cn/ips/

配置方法

要配置 Nginx 仅允许来自 Cloudflare IP 的访问,可以使用 Nginx 的 allow 和 deny 指令结合 Cloudflare 的 IP 地址范围来实现。

以下是一个完整示例,展示了如何在一个 server 块内配置只允许来自 Cloudflare IP 的访问:

server {
    listen 80;
    server_name your_domain.com;

    # 允许 Cloudflare 的 IP 地址访问
    # 定义允许的 IPv4 地址范围
    allow 173.245.48.0/20;
    allow 103.21.244.0/22;
    allow 103.22.200.0/22;
    allow 103.31.4.0/22;
    allow 141.101.64.0/18;
    allow 108.162.192.0/18;
    allow 190.93.240.0/20;
    allow 188.114.96.0/20;
    allow 197.234.240.0/22;
    allow 198.41.128.0/17;
    allow 162.158.0.0/15;
    allow 104.16.0.0/13;
    allow 104.24.0.0/14;
    allow 172.64.0.0/13;
    allow 131.0.72.0/22;

    # 定义允许的 IPv6 地址范围
    allow 2400:cb00::/32;
    allow 2606:4700::/32;
    allow 2803:f800::/32;
    allow 2405:b500::/32;
    allow 2405:8100::/32;
    allow 2a06:98c0::/29;
    allow 2c0f:f248::/32;

    # 禁止其他 IP 地址访问
    deny all;

    # 此处添加其他 Nginx 配置,如 location 等
}

注意: 无需加下面代码,不然会获取到真实用户 IP,而非 Cloudflare 的 IP;

# 定义允许的 IPv4 地址范围
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
# ... (其他 IPv4 地址范围)

# 定义允许的 IPv6 地址范围
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2606:4700::/32;
# ... (其他 IPv6 地址范围)

# 设置 Nginx 使用真实 IP 地址
real_ip_header CF-Connecting-IP;

set_real_ip_from 和 real_ip_header 是 Nginx 配置中用于处理真实 IP 地址的两个关键指令,它们一起用于从代理服务器中提取真实客户端的 IP 地址。

  1. set_real_ip_from 该指令用于定义可信的代理服务器的 IP 地址范围。你告诉 Nginx 哪些 IP 地址是可以信任的代理服务器,从这些地址中提取真实的客户端 IP 地址。示例:
    set_real_ip_from 103.21.244.0/22;
    set_real_ip_from 2400:cb00::/32;
    

     

  2. real_ip_header 该指令用于指定用于提取真实 IP 地址的 HTTP 头字段。一旦 Nginx 通过 set_real_ip_from 定义了可信代理的 IP 地址范围,real_ip_header 告诉 Nginx 在这些 IP 地址中查找真实 IP 的 HTTP 头字段。示例:
    real_ip_header CF-Connecting-IP;
    

     

heiseo免实名域名
赞(0) 打赏
未经允许不得转载:好主机测评网 » Nginx 只允许来自 Cloudflare IP 的访问
好主机测评广告位招租-600元/3月
好主机测评广告位招租-600元/3月

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫