0

我有一个服务器,我正在设置过程中,我遇到了一个无法解决的 Apache 配置问题。

我有 Apache 2.2 和 Passenger 服务于带有分布式资产托管的 Rails 应用程序。这是 Rails 的特性,它允许您从 assets0.example.com、assets1、assets2 等提供静态资产。

该网站需要密码才能启动。我已经使用 Apache 的mod_auth_digest. 在我的配置中,我尝试使用 AuthDigestDomain 指令来允许访问每个资产 URL。问题是,它似乎不起作用。当我加载页面时,我收到密码的初始提示,但是当它第一次从其中一个资产 URL 加载资产时,我收到第二次、第三次或第四次提示。在某些浏览器中,页面上的每个资源都会提示我。

我希望这只是我如何指定指令的问题,而不是 Apache 本身的授权限制。请参阅下面编辑的身份验证部分:

<Location />
  AuthType Digest
  AuthName "Restricted Site"
  AuthUserFile /etc/httpd/passwd/passwords
  AuthGroupFile /dev/null
  AuthDigestDomain / http://assets0.example.com/ http://assets1.example.com/ http://assets2.example.com/ http://assets3.example.com/
  require valid-user
  order deny,allow
  allow from all
</Location>
4

1 回答 1

0

我以前从未使用过 apache 的跨域身份验证。但:

  1. Apache 文档使用的语法与您的不同:

    AuthDigestDomain / assets0.example.com/ assets1.example.com/ assets2.example.com/ assets3.example.com/
    AuthDigestDomain /private/ http://mirror.my.dom/private2/
    

    注意到“http://”了吗?

  2. 该文档还包含一些关于浏览器支持的警告。你确定你的浏览器可以处理这个吗?

于 2009-01-09T09:39:08.227 回答