我有一个关于 apache2 网络服务器和安全的问题(可能有点愚蠢)——我试图实现这一点:从 192.168.1.24 连接的用户不需要输入密码,并允许其他人输入用户名和密码,如果正确则连接。我试图对整个目录 /var/www 执行此操作
无论我将代码放入 .htaccess 文件还是 httpd.conf,它都不起作用。
命令拒绝、允许 全部拒绝 AuthName“PassRequest” AuthType 基本版 验证用户文件 /var/.htpasswd 需要有效用户 允许来自 192.168.1.24 满足任何
如果我尝试从允许的 IP 或任何其他 IP 连接到允许的页面,如果我删除满足任何行,则系统会提示我输入密码,如果我也删除密码并尝试从不同的 IP 连接,则不会被拒绝...是否有一些需要激活的模块或者为什么跳过了 IP 指令?
它需要放在每个文件夹中,或者 /var/www/.htaccess 就足够了?我可以把它放在 httpd.conf 中吗?
我花了 4 个小时尝试用 Google 搜索为什么会出现这种情况,任何帮助都将不胜感激 :-))
编辑 1.11.2012:添加允许覆盖,应用于目录并移动到 httpd.conf,没有成功,检查加载的模块,问题仍然存在
我添加了 AllowOverride 指令(尽管 /var/www 中目前没有 .htaccess)并将所有内容放入 httpd.conf 中,并将根目录放入...
这是我目前在 httpd.conf 中的内容
<Directory />
AllowOverride None
Order deny,allow
Deny from All
Allow from 195.137.181.24
Options Indexes
AuthType Basic
AuthName "You are accessing outside of our network, Enter password!"
AuthUserFile /var/.htpasswd
Require valid-user
Satisfy Any
</Directory>
来自 apache2ctl -M 的已加载模块列表:
Loaded Modules:
core_module (static)
log_config_module (static)
logio_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
alias_module (shared)
auth_basic_module (shared)
authn_file_module (shared)
authz_default_module (shared)
authz_groupfile_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
cgi_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
mime_module (shared)
negotiation_module (shared)
perl_module (shared)
php5_module (shared)
python_module (shared)
reqtimeout_module (shared)
setenvif_module (shared)
status_module (shared)
Syntax OK
Authz_host 模块在那里,所以我看不出我可能在哪里犯了错误。问题仍然是一样的:当我从 IP 195.137.181.24 访问时,我被允许并且不要求输入密码,当我尝试使用完全不同的 IP 通过 3G 从我的手机访问时,我仍然被允许并且不要求输入密码 :-(((
我做错了什么?我不知道该尝试什么。如能得到更多帮助或建议,我将不胜感激。Mike
我添加了 AllowOverride 指令(尽管 /var/www 中目前没有 .htaccess)并将所有内容放入 httpd.conf 中,并将根目录放入...
这是我目前在 httpd.conf 中的内容
<Directory />
AllowOverride None
Order deny,allow
Deny from All
Allow from 195.137.181.24
Options Indexes
AuthType Basic
AuthName "You are accessing outside of our network, Enter password!"
AuthUserFile /var/.htpasswd
Require valid-user
Satisfy Any
</Directory>
来自 apache2ctl -M 的已加载模块列表:
Loaded Modules:
core_module (static)
log_config_module (static)
logio_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
alias_module (shared)
auth_basic_module (shared)
authn_file_module (shared)
authz_default_module (shared)
authz_groupfile_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
cgi_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
mime_module (shared)
negotiation_module (shared)
perl_module (shared)
php5_module (shared)
python_module (shared)
reqtimeout_module (shared)
setenvif_module (shared)
status_module (shared)
Syntax OK
Authz_host 模块在那里,所以我看不出我可能在哪里犯了错误。问题仍然是一样的:当我从 IP 195.137.181.24 访问时,我被允许并且不要求输入密码,当我尝试使用完全不同的 IP 通过 3G 从我的手机访问时,我仍然被允许并且不要求输入密码 :-(((
更新 5.11.2012
我找到了:-D
在 apache2/sites-enabled 中有一个隐藏文件覆盖了我在 /var/www 文件夹上的指令...我真傻,竟然没有早点想到这一点 :-)