宝塔网站如何禁止使用IP访问

背景

当创建好网站后,即便网站绑定了域名,但是用户还是可以通过 IP 访问网站,那么如何禁止呢?

解决方案

进入网站,设置,打开设置页面,在配置文件中添加以下内容

lua 复制代码
    # 拒绝直接通过 IP 访问
    if ($host ~* "^\d{1,3}(\.\d{1,3}){3}$") {
        return 403;
    }

这段代码的作用是检查请求的主机名是否为 IP 地址格式,如果是,则返回 403 错误,禁止访问。

当访问网站时,如果访问的是 IP 地址,则会返回 403 错误,禁止访问,如下截图所示。

扩展

出了IP 直接访问网站外,还有其他可以采纳的安全策略,如:

  1. 使用 HTTPS,将所有HTTP 请求强制重定向到 HTTPS。
  2. 增加网关或防火墙,将 IP 隐藏在内部,避免直接暴露,例如,可以使用 CloudFlare 这样的服务,避免直接暴露 IP。