apache 基本身份验证 - 如何在开发计算机上禁用

apache 基本身份验证 - 如何在开发计算机上禁用

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

AuthUserFile /var/www/passwords/.htpasswd_private
AuthType Basic
AuthName "Access to private admin section"
Require valid-user

它在生产 (Ubuntu) 服务器上运行良好。问题是我想要相同的代码允许在 Windows 开发计算机上进行访问(或至少要求输入密码)。

尝试添加

Allow from 127.0.0.1

但是日志显示错误,因为它无法在开发计算机上找到密码文件。系统找不到指定的路径。:无法打开密码文件:C:/var/www/passwords/.htpasswd_private

有什么优雅的方式可以告诉 apache 在开发计算机上允许访问或要求输入密码?

答案1

创建目录C:/var/www/passwords/.htpasswd_private,然后使用htpasswd.exeapache 安装附带的程序创建.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

现在您应该拥有一个像生产服务器一样工作的系统。

答案2

允许并不意味着您可以不用密码登录,它只是设置哪些主机可以访问它。它仍然会要求您输入密码。

您有两个选择:

  1. 在以下位置创建有效的 .htpasswd_private 文件C:/var/www/passwords/.htpasswd_private
  2. 您可以在目录声明中删除这些选项:

    AuthUser文件 /var/www/passwords/.htpasswd_private

    AuthType 基本版

    AuthName“访问私人管理部分”

    需要有效用户

您只需保留“允许来自 127.0.0.1”语句。

答案3

我有一个双重 htpasswd+LDAP 身份验证,AuthBasicProvider 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

相关内容