当在远程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'