如何禁止通过 IP 地址访问宝塔站点?

2025.5.28 杂七杂八 942

如何禁止通过 IP 地址访问宝塔站点? 杂七杂八-第1张

本文详细介绍如何通过宝塔面板禁止用户直接通过IP地址访问网站,包括Nginx/Apache配置修改、默认站点设置、SSL证书绑定等方法,同时提供安全风险分析和操作注意事项,帮助用户提升服务器安全性。

为什么要禁止IP直接访问?

允许通过IP地址直接访问网站会带来以下风险:

  • 暴露服务器真实IP,增加被攻击风险
  • 可能导致搜索引擎重复收录(IP和域名被视为不同URL)
  • 未配置SSL证书时,IP访问会显示不安全警告
  • 可能泄露未绑定域名的测试站点内容

方法一:通过Nginx配置禁止IP访问

适用于使用Nginx作为Web服务器的环境:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    return 403;
    
     如需返回特定页面可修改为:
     return 301 https://你的域名.com$request_uri;
}

操作步骤:

  1. 登录宝塔面板 → 网站 → 选择对应站点
  2. 点击”配置文件”
  3. 在server块上方添加上述配置
  4. 保存并重启Nginx服务

方法二:Apache配置方案

适用于Apache服务器的配置方法:

<VirtualHost :80>
    ServerName 服务器IP
    DocumentRoot /www/server/nginx/
    <Directory /www/server/nginx/>
        Order allow,deny
        Deny from all
    </Directory>
</VirtualHost>

注意事项:

  • 需先创建默认站点的目录结构
  • 修改后需重启Apache服务生效
  • 建议同时配置HTTPS的默认虚拟主机

方法三:利用宝塔默认站点功能

宝塔面板提供了更简便的操作方式:

  1. 进入面板 → 网站 → 默认站点
  2. 选择”关闭默认站点”或”设置默认站点跳转”
  3. 如需跳转,填写目标域名(建议使用HTTPS)
  4. 保存设置后自动生效

进阶安全配置建议

  • 防火墙设置: 仅开放必要的端口(80,443)
  • SSL证书: 为IP地址申请免费SSL证书(如Let’s Encrypt)
  • 日志监控: 定期检查访问日志中的IP直接访问尝试
  • CDN防护: 使用CDN隐藏真实服务器IP

常见问题解决

Q:配置后网站无法访问怎么办?
A:检查是否误将主站点设置为default_server,确保配置仅影响IP访问

Q:HTTPS的IP访问如何禁止?
A:需要在SSL配置中添加默认server块,方法与HTTP类似

Q:多IP服务器如何配置?
A:需要为每个IP单独配置默认站点规则,或使用通配配置

评论