如何确保只有特定的地址才能访问我的一个vhost?
我试过了:
<VirtualHost *:80>
DocumentRoot "C:\Web Server\phpmyadmin"
ServerName localhost
<Directory />
Require all granted
Require ip 192.168.0.10
</Directory>
# Other directives here
</VirtualHost>和:
DocumentRoot "C:\Web Server\phpmyadmin" ServerName localhost<Directory />
<RequireAll>
Require all granted
Require ip 192.168.0.10
</RequireAll>
</Directory>
# Other directives here
但阿帕奇拒绝启动。
发布于 2014-05-01 18:03:45
有一次,我确实通过vhost配置进行了同样的尝试,但由于依赖于其他apache配置文件而失败了。我最终使用.htaccess文件来限制对我的IP的访问-它在我之前的所有场景中都有效:
示例htaccess配置:
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.php
RewriteCond %{REMOTE_ADDR} !=111.111.111.111
RewriteRule ^.*$ /maintenance.php [R=302,L]它会将任何IP不是111.111.111.111的用户重定向到maintenance.php文件,您可以在该文件中给用户留下访问被阻止的消息。
我给你这个例子是因为我看到这个问题也被标记为".htaccess“。
发布于 2014-05-01 17:55:13
这应该能起到作用:
<VirtualHost *:80>
DocumentRoot /var/www/test
<Directory /var/www/test>
Order deny,allow
Deny from all
Allow from <IP>
</Directory>
</VirtualHost>2.4版本中的更新使用:
<Directory /var/www/test>
Require ip <IP>
</Directory>https://stackoverflow.com/questions/23405428
复制相似问题