Apache基本authentication – 如何禁用开发计算机

我以这种方式禁止未经授权的用户访问某些文件夹:

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:

  1. C:/var/www/passwords/.htpasswd_private创build一个有效的.htpasswd_private文件
  2. 您在目录声明中删除这些选项:

    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