我的配置非常简单:
为了避免重复内容,我想通过直接点击 apache(在端口 8080 上运行)来阻止用户访问我的网站。
我已经设置了一个侦听端口 80 的 Varnish 服务器,所以我只想使用它来避免机器人在不同端口索引同一个网站,这可能会导致重复内容问题。
我在 Debian 6 上使用专用服务器。
我的虚拟主机看起来像:
<VirtualHost *:8080>
ServerAdmin webmaster@localhost
ServerName www.seek-team.com
DocumentRoot ...
DirectoryIndex app.php
<Directory "/var/www/seek-team.com/current/web">
Options -Indexes FollowSymLinks SymLinksifOwnerMatch
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
如何防止用户直接使用8080端口访问网站?(但我仍然需要清漆才能正确命中 apache)。
谢谢。
您可以将 apache 守护程序绑定到环回接口,并使 Varnish 连接到
localhost:80
. 因此,varnish 可以被全世界访问,而 apache 只能在本地访问。清漆配置:
阿帕奇配置:
最快的选择是简单地将 Apache 实例绑定到 Localhost,这样它就只能从那台机器上访问。
或者,您可以将 Apache 虚拟主机目录块的权限调整为:
这稍微灵活一些,因为您可以将自己的 IP 或网络范围添加到允许的 IP 列表中,以允许选择的少数直接访问用于诊断目的。
上面的两个选项都假设 Varnish 实例在同一台物理服务器上运行。
只需像这样用 iptables 为外界屏蔽 8080 端口: