<VirtualHost *:80>
ServerAdmin example.com
DocumentRoot "C:/xampp/htdocs/example.com"
ServerName www.example.com
ServerAlias example.com
ErrorLog "logs/example.com-error.log"
CustomLog "logs/example.com-access.log" common
<Directory "C:/xampp/htdocs/example.com">
Options All -Indexes
AllowOverride All
<RequireAll>
Require all denied
Require ip 49.204.11.24
</RequireAll>
</Directory>
</VirtualHost>
答案1
假设您使用的是 Apache 2.4,您的语法是正确的。只需检查您加载的模块,并确保已加载authz_core模块。
要检查模块是否已加载,请使用:
apache2ctl -M
由于我假设该网络服务器可能有一些其他网站可能需要被其他人看到,因此最好在虚拟主机级别而不是全局应用此限制。
<VirtualHost *:80>
ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Location />
Require ip 172.20.131.34
</Location>
</VirtualHost>
所以通过上面的配置,只有 172.20.131.34 作为源 ip,才能够查看我的页面,其他人访问该页面时都会收到 Forbidden 消息。