如何阻止其他人的域指向我的 Apache 托管网站?
Posted
技术标签:
【中文标题】如何阻止其他人的域指向我的 Apache 托管网站?【英文标题】:How do I block someone else's domain pointing to my Apache hosted website? 【发布时间】:2014-10-03 21:35:39 【问题描述】:您好,几周前我正在使用专用 IP 在 Linux VPS 中运行我的网站,我发现其他域正在指向我的网站
Ex :: mydomain.com === server my site content
otherdomain.com === also server my site content
如果我也更新或修改它在其他域上的更新..
请帮助任何设置以防止这种情况发生
在搜索了很多论坛后,我找到了基于名称的虚拟主机 如何在 VPS Linux 中实现这一点请指导我 或此问题的任何其他解决方案请帮助
我也尝试查看反向 IP 查找我的 IP 显示两个域 另一个 1 是坏域指向我的服务器/IP,但它为我的网站内容提供服务..如何阻止这种情况请帮助
【问题讨论】:
dmca.com/FAQ/What-is-a-DMCA-Takedown @Sumurai8 DMCA 删除与内容而非域名有关。 OP 的问题是域指向 他的服务器,因此指向 他的 内容。 【参考方案1】:我同意@Azrael,但想进一步扩展:
您可以根据具体情况将他们的域重定向到不同的页面,但我建议做的以及我在大多数服务器上所做的就是拒绝除正确域的流量之外的所有流量。
Apache 2.4 及更新版本:
<VirtualHost *:80>
ServerName catchall
<Location />
Require all denied
</Location>
</VirtualHost>
<VirtualHost *:80>
ServerName allowed.com
<Location />
Require all granted
</Location>
</VirtualHost>
Apache 2.2 及更早版本:
<VirtualHost *:80>
ServerName catchall
<Location />
Order allow,deny
Deny from all
</Location>
</VirtualHost>
<VirtualHost *:80>
ServerName allowed.com
<Location />
AllowOverride All
Order allow,deny
allow from all
</Location>
</VirtualHost>
其工作方式是 Apache 使用 ServerName 过滤请求,但是任何与任何 VirtualHosts ServerNames 不匹配的请求都将发送到服务器上的第一个 VirtualHost,在这种情况下,第一个 VirtualHost 中的 ServerName 是“Catchall”它不会匹配任何请求,因为它不是一个有效的域名,而是会因为它是第一个 VirtualHost,为所有不匹配的域提供服务。然后我们使用位置容器来定义允许或拒绝指令。
如果您想使用文件系统而不是特定于 url 的指令,例如“允许覆盖所有”,您可以使用目录容器而不是以下格式的位置:
DocumentRoot /var/www/html
<Directory "/var/www/html">
Require all granted
Allow overide all
</Directory>
【讨论】:
【参考方案2】:如果域不是您的,则没有办法喜欢.. 不要将其指向您的服务器,但是您可以使用 VirtualHost 将其指向一个单独的页面
通过执行以下操作,创建一个文件夹,其中包含所需的 html / php 文件,说明该页面不存在或其他任何内容
然后编辑您的 VirtualHosts 文件,假设您使用的是 apache,该文件将位于以下目录中:
/etc/apache2/sites-available/
打开名为default
的文件并添加以下代码:
<VirtualHost *:80>
DocumentRoot /www/example2
ServerName www.example.org
</VirtualHost>
【讨论】:
以上是关于如何阻止其他人的域指向我的 Apache 托管网站?的主要内容,如果未能解决你的问题,请参考以下文章
Route53 中的域将根指向外部主机,在 AWS 中保留子域