宝塔面板设置禁止通过IP直接访问网站防止恶意解析

本文介绍如何使用宝塔面板防止网站被恶意解析,通过设置Nginx或Apache配置阻止他人通过IP直接访问网站,避免流量被劫持及搜索引擎收录错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

宝塔面板设置禁止通过IP直接访问网站防止恶意解析

宝塔服务器管理是现在非常流行的一款免费的 Linux 管理应用,作为不想做过多运维操作的可以使用这个可视化操作。今天这篇文章主要是说一下怎么使用宝塔面板来操作禁止通过 IP 直接访问我们的网站防止被恶意解析,当然独立安装的也是同理。

什么是恶意解析

恶意解析是指有人通过域名 A 记录直接解析自己 IP 地址,从而得到一个在访问者眼中完全相同网站,也会造成搜索引擎收录别人的域名。

原理是什么呢?简单解释就是,你的网站可以通过 IP 直接访问,本来这没什么问题,但是如果被人恶意用别的域名解析到你的 IP 的话,那么你的网站就能通过别人的域名来访问了。

VPS 服务器的 IP 如果被别人恶意绑定,流量就会被劫持到别的域名,从而遭到广告联盟的封杀。因为广告联盟肯定也是跟域名绑定的,被人这么一搞,时间一长肯定会被发现域名不符,于是就 GG 了。

Nginx 防止恶意解析

这里说一下使用宝塔面板在LNMP的环境下禁止通过 IP 直接访问我们的网站从而达到防止恶意解析的操作。

1、绑定一个默认站点,也就是找一个空闲不用的站点,所有未在面板绑定的域名都会访问到这个默认站点。

宝塔面板设置禁止通过IP直接访问网站防止恶意解析

2、添加好默认站点以后,修改站点的配置文件

宝塔面板设置禁止通过IP直接访问网站防止恶意解析

修改站点的配置文件

添加 return 444,可以把 444 改成404或 502 等错误码,为了防止使用https访问,我们 server_name 写服务器 IP 地址,同时监听 443 端口

server
{
    listen 80 default_server;
    listen 443;
    server_name 115.*.*.*;
    return 444;

然后我们使用 IP 访问看一下咯

宝塔面板设置禁止通过IP直接访问网站防止恶意解析

Apache 防止恶意解析

如果你的Apache开通了虚拟主机,则需要修改 conf/extra/httpd-vhosts.conf 文件。如何判断 Apache 是否开通了虚拟主机?可以在配置文件 httpd.conf 中搜索,若有类似如下的选项的,则开启了虚拟主机,#为注释

 

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

若是开通了虚拟主机,则需要在 httpd-vhosts.conf 中修改配置如下;若没有开通虚拟主机,则可以直接在 httpd.conf 文件最后面,加入以下代码:

 

NameVirtualHost XXX.XXX.XXX.XXX
<virtualhost XXX.XXX.XXX.XXX:80>
ServerName  XXX.XXX.XXX.XXX
<Directory />
Order Allow,Deny
Deny from all
</Directory>
</virtualhost>
<virtualhost XXX.XXX.XXX.XXX:80>
ServerName  yourdomain.com
DocumentRoot  /home/wwwroot/
</virtualhost>

说明:

  • XXX.XXX.XXX.XXX 为你的 IP 地址;
  • 第一处 virtualhost 配置为拒绝 IP 的任何访问请求,返回 403 错误;
  • 第二处的 virtualhost 配置为允许通过 yourdomain.com 这个域名访问,网站主目录为/home/wwwroot/。

当然,我们还可以新建一个虚拟主机配置,将来自 IP 的访问 Rewrite 到一个自定义的 PHP 页面,利用 Apache 的 Rewrite 和 PHP 实现 400 错误。

原文地址:https://blog.ccswust.org/1993.html

### 解决方案 为了确保宝塔面板设置中的虚拟机IP地址保持稳定且固定不变,在CentOS 7环境中可以采取如下措施: #### 配置静态IP地址 通过修改网络接口配置文件来设定静态IP,从而保证每次启动时都能获得相同的IP地址。 编辑网络接口配置文件 `/etc/sysconfig/network-scripts/ifcfg-eth0` 或者对应的网卡名称(取决于具体使用的网卡),将以下参数调整为适应环境的具体数值[^1]: ```bash BOOTPROTO=static ONBOOT=yes IPADDR=192.168.x.x # 替换成实际要分配给该机器的内部局域网IP NETMASK=255.255.255.0 # 子网掩码通常情况下是这个值 GATEWAY=192.168.x.1 # 默认网关通常是路由器或者交换机的第一个可用地址 DNS1=8.8.8.8 # 可选:指定首选DNS服务器 DNS2=8.8.4.4 # 可选:备用DNS服务器 ``` 保存更改后重启网络服务使新配置生效: ```bash systemctl restart network ``` #### 设置DHCP保留项 如果使用的是DHCP自动获取IP的方式,则可以在路由器上针对特定MAC地址创建一个固定的IP映射关系。这样即使采用动态主机配置协议(DHCP),也能让这台计算机始终得到同一个IP地址。 登录到路由器管理界面,找到DHCP设置部分,添加一条基于本机网卡物理地址(MAC Address)的新记录,并指派所需的固定IP范围内的某个未被占用的地址给它[^3]。 #### 修改防火墙规则与SELinux策略 有时由于安全原因,默认的安全组可能会阻止外部连接尝试到达目标端口;另外SELinux也可能干扰正常通信。因此还需要确认防火墙允许HTTP(S)流量以及适当放宽SELinux限制防止其影响Web应用的功能正常使用[^4]。 对于iptables防火墙来说,可以通过下面命令开放必要的入站端口(假设默认web服务运行于8888端口): ```bash firewall-cmd --zone=public --add-port=8888/tcp --permanent firewall-cmd --reload ``` 而对于SELinux而言,建议将其暂时设为宽容模式(permissive mode),以便排查是否因权限控制引起的问题: ```bash setenforce 0 sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config ``` 完成上述步骤之后再次测试能否顺利访问宝塔面板即可验证问题是否得到有效处理。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值