apache - 如何使用 Apache 阻止域?
问题描述
我们在 Digital Ocean 上有一个网站 example.com。似乎有一个用户使用我们的 IP 地址为他们的站点启用了域掩码,或者他们只是将他们的域 domain.com 指向我们的 sute。我们不希望 domain.com 显示我们的网站,所以我想阻止 domain.com。
我尝试使用本指南: https : //perishablepress.com/eight-ways-to-blacklist-with-apaches-mod_rewrite/,但这似乎不适用于域屏蔽。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)?domain(-|.).*$ [NC]
RewriteRule ^(.*)$ - [F,L]
</IfModule>
我看到了这个例子:https://serverfault.com/questions/796674/block-masking-url-from-nginx/ ,但我不知道如何将它翻译成 Apache。
解决方案
@arkascha 建议我使用 Apache 的虚拟主机来完成这项工作。
这个想法是让您的默认主机拒绝访问,然后添加另一个允许访问您的域的虚拟主机。这意味着没有黑名单,而是白名单。这可以防止未来或未知域导致类似问题。
这是我的 etc/apache2/sites-available/000-default.conf 的内容,它成功阻止了来自 domain.com 的流量,并允许来自 example.com 的流量:
<VirtualHost *:80>
ServerName catchall
<Location />
Require all denied
</Location>
</VirtualHost>
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin webmaster@example.com
DocumentRoot /var/www/html/public
<Directory /var/www/html/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
推荐阅读
- excel - POI 创建 excel 文件,日期分隔符根据客户日期格式更改
- firebase - 当firebase实时数据库长时间处于100%使用率时,如何获取更详细的分析数据?
- tkinter - 磨损的 GIF tkinter
- python - 如何在python中的GET和POST请求后打开浏览器选项卡
- apache - 使用 Apache Alias 而不是 RewriteRule 来提供 HTML 页面
- java - JavaFX可编辑组合框不允许重复项
- javascript - 如何让子组件可以访问 VueJs 中的父组件方法
- php - 如何在 Yii 1.1 CGridView 上对通过连接查询检索到的数据实施过滤器
- python-3.x - Pytorch 从张量文件中读取张量(从磁盘进行流式训练)
- rust - 我真的需要对 Rust 进行向下转换吗?