博客建设笔记(2)配置仅 CDN 可访问源站 http(s) 服务

最近发现有直接访问源站的请求,查了一下他们的域名直接指向的就是源站,可能是之前这个 IP 的用户吧。为了保险期间,我们希望只允许 CDN 访问,那么应该怎么做呢?

获取 IP 列表

我们使用了 Cloudflare 和 百度云加速,从本质上来看其实都是 Cloudflare(

百度云加速的 IP 列表在此;Cloudflare 的 IP 列表在此

生成 firewall-cmd 规则

这里摸了个脚本:

function generateRule(ips = [], services = ["http", "https"], ip_version = 4) {
  return ips
    .map((ip) => {
      return services
        .map(
          (service) =>
            `sudo firewall-cmd --zone=drop --add-rich-rule='rule family="ipv${ip_version}" source address="${ip}" service name="${service}" accept' --permanent`
        )
        .join("\n");
    })
    .join("\n");
}

把对应的 IP 地址分好了塞进去就行了,非常的方便(

关闭开启的 http(s) 服务

接下来就是执行上面输出的结果了。然后我们需要关掉上一篇文章中启用的 httphttps 服务:

sudo firewall-cmd --zone=drop --remove-service=http --permanent
sudo firewall-cmd --zone=drop --remove-service=https --permanent

最后重载 firewalld 即可:

sudo firewall-cmd --reload
暂无评论

发送评论 编辑评论


				
上一篇
下一篇