经过身份验证后,HTTP 1.1 Authorization标头将随每个请求一起发送到域中的每个资源

时间:2011-03-25 09:32:19

标签: apache http authentication basic-authentication

我遇到的情况是,即使请求授权信息的初始401 Authentication响应包含与服务器上的特定资源相关联的域,http 1.1授权头也会发送到给定域下的每个资源。 / p>

我从http 1.1规范中了解到,浏览器可以先发制人地将Authorization标头发送到已经过身份验证的资源。

  

客户可以抢先发送      相应的授权标头,包含对资源的请求      该空间没有收到服务器的另一个挑战。   http://www.ietf.org/rfc/rfc2617.txt

但是,看起来浏览器会使用Authorization标头抢占域下的每个资源。

我在使用Opera 11.1,IE [7,8],Firefox 3.x时遇到了有关域名和资源的这种行为,让我感到自信(尽管不是100%)这不是浏览器错误。< / p>

值得一提的是,服务器将与所涉及领域相关联的资源呈现为由Apache 2.0下的“Alias”指令管理的虚拟资源,因此对于受保护资源'/ x',apache配置为:

Alias /x "/absolute/linux/filesystem/path"

<Directory "/absolute/linux/filesystem/path">
...
AuthName     "y"
AuthType Basic
...
</Directory> 

我有一个完全不受支持的理论,其中的问题与'/ x'由apache作为虚拟资源呈现的事实有关。我想知道不管怎么说这最终会将领域映射到'/'而不是'/ x'。我从浏览器抢占每个资源的Authorization标头这一事实中得出了这个结论。

如果有人能指出我正确的方向,我会很感激,因为我在我的设置中错误配置了一些东西。

为了简洁起见,我已经省略了某些信息(例如模块版本等),如果需要请询问,我将非常乐意提供。

感谢阅读。

克里斯