• 欢迎访问风色博客,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入风色群 QQ群
  • 最新版Git主题已支持说说碎语功能,可像添加文章一样直接添加说说,新建说说页面即可,最后重新保存固定连接,演示地址
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏风色博客吧

NGINX 在特定路径指定目标进行重定向操作:以独角数卡拦截中国大陆IP购买为例

cloudflare fengse 2个月前 (08-07) 59次浏览 已收录 0个评论

前言

本设计的背景为:使用CloudFlareCDN且开启国家地区识别码传递,没有前置代理,程序为带有伪静态的PHP

本设计的目标为:主页可以正常浏览,特定路径(购买页)会被重定向走

实现结果:独角数卡

  • 中国大陆IP访问,除了/buy下的商品详情页会被强制跳转到提示页,其他主页和后端正常
  • 非中国大陆IP访问,一切正常

另外建议关闭CloudFlare的全局缓存

代码实现

独角数卡官方的NGINX伪静态规则如下

location / { 
try_files $uri $uri/ /index.php$is_args$query_string; 
} 

根据代码理解,它是在对应路径尝试三种文件来响应

修改后代码【直接在宝塔网站的伪静态规则中加,不要直接去宝塔网站的配置文件里面加】

location /buy {
if ( $http_cf_ipcountry = "CN") {
return 302 https://shop.blueskyxn.com/china.html;
}

try_files /buy/$uri /buy/$uri/ /buy/index.php$is_args$query_string $uri $uri/ /index.php$is_args$query_string;

}

location / { 
try_files $uri $uri/ /index.php$is_args$query_string; 
}

代码讲解:在原伪静态规则上面加,优先级问题

然后需要把后面的改写一下复制上面

逻辑是判断是不是CN,是就跳转,不是就继续运行

然后tryfile的文件要修改,因为我的路径是/buy,所以要给他补上路径

如果不补,就会出现打不开或者全部被跳转等异常现象


极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:NGINX 在特定路径指定目标进行重定向操作:以独角数卡拦截中国大陆IP购买为例
支付宝扫码打赏 微信打赏

如果文章对您有帮助,欢迎移至上方按钮打赏本站

喜欢 (13)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址