我以这种方式禁止未经授权的用户访问某些文件夹:
AuthUserFile /var/www/passwords/.htpasswd_private AuthType Basic AuthName "Access to private admin section" Require valid-user
它在生产(Ubuntu)服务器上正常工作。 问题是我想要相同的代码,以允许在Windows开发计算机上访问(或至less要求input密码)。
试图添加
Allow from 127.0.0.1
但日志显示错误,因为它无法在开发计算机上find密码文件。 该系统找不到指定的path。 :无法打开密码文件:C:/var/www/passwords/.htpasswd_private
告诉Apache要么允许访问或要求在开发计算机上的密码的优雅方式是什么?
创build目录C:/var/www/passwords/.htpasswd_private ,然后使用您的apache安装附带的htpasswd.exe程序来创build.htpasswd_private文件
htpasswd -c C:/var/www/passwords/.htpasswd_private username Automatically using MD5 Format New password: ********* Re-type password: ********* Adding password for user username
现在你应该有一个像生产服务器一样的系统。
允许从不意味着你可以不用密码login,它只是设置主机可以访问它。 它仍然会要求您input密码。
你有两个select:
C:/var/www/passwords/.htpasswd_private创build一个有效的.htpasswd_private文件 您在目录声明中删除这些选项:
AuthUserFile /var/www/passwords/.htpasswd_private
AuthType基本
AuthName“访问私人pipe理部分”
要求有效的用户
而你只是离开允许从127.0.0.1声明。
我有一个双htpasswd + LDAP身份validationAuthBasicProvider file ldap ,如下所示:AuthType Basic AuthName“MyApp”
AuthBasicProvider file ldap AuthUserFile /var/www/domain.tld/myapp/.htpasswd # LDAP AuthzLDAPAuthoritative off AuthLDAPURL "ldaps://ldap.domain.tld:636/dc=domain,dc=tld?uid?sub?(&(objectClass=person)(mail=*@domain.tld))" SSL AuthLDAPBindDN "CN=myapp,OU=Applications,DC=domain,DC=tld" AuthLDAPBindPassword "xxxxxxxxxx" AuthLDAPGroupAttribute memberUid AuthLDAPGroupAttributeIsDN off Require valid-user
只删除/注释下面的指令似乎已经足够了:
AuthUserFile AuthzLDAPAuthoritative Require