我有一个子域,我希望只能通过本地 IP 地址访问。是否可以在 vhost 中指定它?我想这不可以,因为我在 Google 上没有找到太多信息。如果不行,那么在 apache 级别上执行此操作的最佳方法是什么?我忘记了我们使用的 Linux 版本...但我们在其上运行着 Samba。
我试图限制的网站是我们网站的文档。
答案1
默认的 Apache VirtualHost 配置具有 /doc/ 别名,该别名重定向到 Apache 的文档,并且访问权限仅限于本地主机。我认为这就是您要找的。查看否定和允许線。
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
答案2
您可以使用 mod_access(包含在大多数 Linux 发行版中)明确禁用基于 IP 的目录访问:
IE
<Directory /docroot>
Order Deny,Allow
Deny from all
Allow from 10.1.2.0/24
</Directory>
如果您阻止对该虚拟主机的整个文档根目录的访问,则外部用户不应一直收到超过 403 Forbidden 的错误。