我希望用户只能通过 Cloudflare CDN 访问网站,并且直接访问源站时会返回 403 Forbidden 。
在 Nginx 配置文件中,我的配置大概如下:
server { listen 80; server_name example.com; # 替换为你的域名 location / { # 允许 Cloudflare 的 IPv4 段 allow 103.21.244.0/22; allow 103.22.200.0/22; allow 103.31.4.0/22; allow 104.16.0.0/12; allow 108.162.192.0/18; allow 131.0.72.0/22; allow 141.101.64.0/18; allow 162.158.0.0/15; allow 172.64.0.0/13; allow 173.245.48.0/20; allow 188.114.96.0/20; allow 190.93.240.0/20; allow 197.234.240.0/22; allow 198.41.128.0/17; # 允许 Cloudflare 的 IPv6 段(如果启用 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; # 正常的请求处理 try_files $uri $uri/ =404; } } 按理说我觉得使用直接配置后使用访问网站,应该正常显示。但是实际上是 403.
我是参考下面几个链接配置的:
[已完成] 怎样 只允许指定 IP 和域名访问网站: https://www.bt.cn/bbs/thread-72524-1-1.html
Nginx 设置只允许来自 Cloudflare CDN 的 IP 访问的方法 宝塔 NGINX 网站只允许 CF IP 访问方法: https://bnxb.com/nginx/27638.html
