Ubuntu 16.04 Apache2只需要密码一次吗?

时间:2018-04-18 14:20:14

标签: .htaccess apache2 ubuntu-16.04

我正在运行服务器,并设置了一个htaccess文件。一切正常,它需要密码才能访问我设置的文件夹,但一旦使用密码,它就再也不需要验证了。似乎不安全,所以我想知道如何重新输入密码。就像访问时的某种超时一样,但我不知道该寻找什么,而且我发现所有人都试图不再需要密码。

请帮助解决方案,或指出正确的方向,以寻找我需要搜索的内容。

我在apache配置文件中使用带有基本身份验证设置的ssl和.httaccess文件。

<Directory "/var/www/html">
  AuthType Basic
  AuthName "Restricted Content"
  AuthUserFile /etc/apache2/.htpasswd
  Require valid-user
</Directory> 

1 个答案:

答案 0 :(得分:0)

据我所知,apache / HTTP身份验证并不能让您控制。 首次身份验证后,您的服务器无法指示浏览器注销或超时。 HTTP身份验证不适用于会话/ cookie,浏览器应不断发送身份验证凭据。 要注销,您应关闭浏览器。

查看Apache网页:AuthDigestNonceLifetime指令可能有用,当时的值是以秒为单位。我在这里使用300。

<Directory "/var/www/html">
    AuthType Digest
    AuthName "Restricted-Content"
    AuthDigestDomain "http://127.0.1.2"
    AuthDigestProvider file
    AuthUserFile /etc/apache2/.htpasswd         
    AuthDigestNonceLifetime 30          
    Require valid-user
</Directory> 

此外,您必须使用htdigest命令生成.htpasswd文件

htdigest -c /etc/apache2/.htpasswd Restricted-Content username

然后设置密码 然后将AuthDigestDomain设置为您的网址或IP

此配置只能与基于摘要的身份验证一起使用。虽然用户必须手动清除浏览器缓存。

但我建议您切换到另一种身份验证方法,除非它是应用程序的唯一选项