通过禁用默认VirtualHost从search引擎机器人和查看者隐藏网站

当在远程VPS上login网站时,我们希望只有团队成员才能访问网站,而且我们也希望保持search引擎的closures状态,直到网站最终确定。

无论是在Iptables还是Apache,主机访问控制都是不可取的,因为访问主机可能会有所不同。

在Apacheconfiguration文件和其他SF文章中阅读了一些内容之后,我决定依靠限制只能通过特定域名访问的以下devise:

默认虚拟主机将在Apacheconfiguration中被禁用,如下所示 – 依靠Apache的行为来使用第一台虚拟主机作为站点默认值:

<VirtualHost *:80> # Anything matching this should be silently ignored. </VirtualHost> <VirtualHost *:80> ServerName secretsiteone.com DocumentRoot /var/www/secretsiteone.com </VirtualHost> <VirtualHost *:80> ServerName secretsitetwo.com ... </VirtualHost> 

然后每个团队成员可以在他们的本地/etc/hosts添加域名:

 xx.xx.xx.xx secrethostone.com 

我的问题是:上述技术是否足以达到上述目标,特别是限制SE僵尸程序,或者僵尸程序可能会解决这个问题。

注意 :我知道mod_rewrite规则可以用来达到类似于这里讨论的效果: 如何在apache2中禁用默认的VirtualHost? ,所以同样的问题也适用于这种技术。

另外请注意 :内容不是很高度保密 – 这个想法不是devise一些可以certificate黑客的东西,所以我们不关心交通拦截等等。 这个想法是保持竞争对手和偶然的冲浪者在发布内容之前查看内容,并防止SE机器人将其索引。

当然,如果你select一个非常随机的域名,它应该相当隐蔽。 但是,这可能会很容易(并不需要每个人都修改他们的主机文件),只是把它放在http摘要authentication提示符后面。 然后只需将凭据分发给您的团队成员,他们将能够访问它。

在您的VirtualHost中,只需指定一个位置来保护。 这可能与您的VirtualHost DocumentRootpath相同:

 <Location /var/www/secretsiteone.com> AuthName 'Nothing to see here' AuthType Digest AuthDigestProvider file AuthDigestDomain / AuthUserFile /path/to/.htdigest Require valid-user </Location> 

然后生成.htdigest文件:

 htdigest -c /path/to/.htdigest 'Nothing to see here' 'username'