开发者社区> 问答> 正文

如何在nginx中放行一个网页?

lyrical 2019-01-19 03:41:39 509

在以下场景中,如何在nginx中放行一个网页?
网站使用的是cloudflare的CDN,在nginx中屏蔽了所有来自国外的IP地址
在http段中添加
···
map $http_cf_ipcountry $allow {
default no;
CN yes;
}
···
然后在server段中添加
···
if ($allow = no) {
return 403;
}
···
这样,所有来自国外的IP访问网站的时候全都返回403了。
但是我现在有这样一个需求,就是在网站中,有一个网页,我希望所有的IP都能访问到,即便是来自国外的IP也能正常访问,应该如何写呢?

应用服务中间件 nginx CDN
分享到
取消 提交回答
全部回答(3)
  • 一溜
    2019-07-17 23:25:58

    尝试把
    if ($allow = no) {
    return 403;
    }
    移到location里面。现在你的结构也许是这样的:
    if ($allow = no) {
    return 403;
    }
    location / {
    ....
    }
    修改为:
    location =/expect_url {
    root xxx;
    }
    location / {
    if ($allow = no) {
    return 403;
    }
    ....
    }

    0 0
  • lyrical
    2019-07-17 23:25:58

    求助啊

    0 0
  • 1426694731350515
    2019-07-17 23:25:57

    路过

    0 0
添加回答

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程