【问题标题】:Apache basic authentication SSL only仅 Apache 基本身份验证 SSL
【发布时间】:2012-03-05 03:04:12
【问题描述】:

我得到了一个 Apache 在 Windows 上运行的设置,我们有两个文件夹需要使用 .htpasswd 进行基本身份验证。

首先,我测试了身份验证是否有效:

AuthUserFile E:/path-to/.htpasswd
AuthType Basic
AuthName "Secure area"
Require valid-user

这很好用,但当然没有通过 SSL 发送凭据。我尝试使用 RewriteRule 将任何没有 HTTPS 的请求发送到这些文件夹中的 HTTPS,这需要用户登录两次 - 一次通过 HTTP,一次通过 HTTPS。

我发现很多人都有这个问题,大多数人使用的解决方案是这样的:

SSLOptions +StrictRequire
SSLRequireSSL
SSLRequire  %{HTTP_HOST} eq "www.domain.com"
AuthUserFile E:/path-to/.htpasswd
AuthName "Secure area"
AuthType basic
require valid-user
ErrorDocument 403 https://www.domain.com/secure-area

所以我把它放到了两个安全文件夹中的 htaccess 中。这要求用户通过 HTTPS 登录一次,这是应该的,但它当然不会将它们发送到他们请求的文件。相反,它将它们发送到文件夹的根目录。

我们经常将用户引导到这些目录中的特定文件,但在尝试执行此操作时,我找不到任何可以通过 HTTPS 使用基本身份验证对他们进行身份验证的东西。这在 Apache 上可行吗?

谢谢, 乔纳森

【问题讨论】:

    标签: apache mod-rewrite basic-authentication mod-ssl


    【解决方案1】:

    如果它用于特定文件,您可以将其包装在

    
    
    

    <files *.php>
      
    </files>
    </pre></code>

    或者其他什么,看看这是否有区别,因为它将验证请求的文件而不是文件所在的目录?

    【讨论】:

      猜你喜欢
      • 2011-05-05
      • 1970-01-01
      • 1970-01-01
      • 2012-07-27
      • 2012-07-19
      • 2016-02-08
      • 2012-02-04
      • 2017-03-10
      • 1970-01-01
      相关资源
      最近更新 更多