【教程】apache设置禁止通过IP访问,只能域名访问

转载请注明出处:小锋学长生活大爆炸xfxuezhagn.cn

如果本文帮助到了你,欢迎***点赞、收藏、关注***哦~

目录

背景说明

效果演示

配置步骤


背景说明

暴露IP容易被扫描,而且会被DDOS等攻击。而域名则由于经过了DNS解析,可以很方便的套上攻击检测。

效果演示

ip无法访问:

域名正常访问:

配置步骤

1、修改虚拟主机配置文件,通常在:

  • Ubuntu/Debian:/etc/apache2/sites-available/
  • CentOS/RHEL:/etc/httpd/conf.d/

2、先配置http方式。添加默认的虚拟主机,用于捕获所有直接通过 IP 地址访问的请求。

bash 复制代码
sudo vim /etc/apache2/sites-enabled/000-default.conf 

在conf文件的最前面加上:

bash 复制代码
<VirtualHost *:80>
    ServerName 123.123.123.123  # 替换为你的服务器 IP 地址

    RewriteEngine On
    # 如果访问不是通过域名,则返回 403
    RewriteCond %{HTTP_HOST} !^(www\.)?yourdomain\.com$ [NC]
    RewriteRule ^ - [F]
</VirtualHost>

3、配置默认的域名虚拟主机,还是在这个conf文件,只是把你原来的内容改了。如果本来就有的话就可以不用动:

bash 复制代码
<VirtualHost *:80>
    ServerName www.example.com   # 你的域名
    ServerAlias example.com      # 你的域名
    DocumentRoot /var/www/html   # 你的网站根目录

    <Directory /var/www/html>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

4、然后先配置https方式,不过没用到就跳过步骤4和5。

bash 复制代码
sudo vim /etc/apache2/sites-enabled/default-ssl.conf 

在conf文件的**前面部分(注意得是if model 里面)**加上:

bash 复制代码
<VirtualHost *:443>
    ServerName 123.123.123.123                       # 替换为你的服务器 IP

    SSLEngine On
    SSLCertificateFile /path/to/your/certificate.crt # 你的证书路径
    SSLCertificateKeyFile /path/to/your/private.key  # 你的证书路径

    # 禁止通过 IP 访问
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^123\.123\.123\.123$    # 替换为你的服务器 IP
    RewriteRule ^ - [F]
</VirtualHost>

5、配置默认的域名虚拟主机,可以保持不动。

6、重启 Apache 服务。每次修改配置后,记得重新加载 Apache 服务:

bash 复制代码
sudo systemctl reload apache2
相关推荐
0+1113 小时前
Linux --从 poll 到 epoll多路转接
linux·服务器·1024程序员节
青瓦梦滋3 小时前
WebSocket协议
linux·服务器·网络·c++·websocket·网络协议·http
桌面运维家4 小时前
旧电脑跑不动课程软件,VDI云桌面怎样接着用?
运维·服务器·虚拟化·pve·vdi·云桌面
zhang133830890754 小时前
传统机械三杯式风速传感器易磨损冻堵?CG-88金属超声波风速风向传感器给出免运维方案
运维·服务器·网络·人工智能·自动化
知已难寻4 小时前
第 2 篇 · 云的地基:服务器、存储、网络三大基础设施
运维·服务器·网络·云原生·云计算·负载均衡·1024程序员节
IpdataCloud6 小时前
批量查IP的API接口怎么选?免费API配额瓶颈与离线库本地批量方案实测
网络·网络协议·tcp/ip
2601_949847757 小时前
bcrypt.js 跨端三方库仓颉适配全流程
linux·运维·ubuntu
m0_639906947 小时前
Linux 操作系统入门:目录结构、服务排查常用命令、Shell 脚本基础
linux·运维·后端
今天重构了吗7 小时前
Linux 上 rm -rf 删错了能找回吗
运维·服务器
KaiwuDB7 小时前
KaiwuDB 分布式集群扩缩容,从原理到完整操作踩坑总结
运维·数据库·分布式