【问题标题】:Apache's AuthDigestDomain and Rails Distributed Asset HostsApache 的 AuthDigestDomain 和 Rails 分布式资产主机
【发布时间】:2010-09-30 07:43:21
【问题描述】:

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

我有 Apache 2.2 和 Passenger 服务于具有分布式资产托管的 Rails 应用程序。这是 Rails 的功能,可让您从 assets0.example.com、assets1、assets2 等提供静态资产。

网站在启动前需要输入密码。我已经使用 Apache 的mod_auth_digest 在站点上设置了 HTTP 身份验证。在我的配置中,我尝试使用 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>

【问题讨论】:

    标签: ruby-on-rails apache authentication assets


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 我已经编辑了我的原始帖子以反映 Apache 语法,因为我确实尝试过,但没有成功。实际上,当网站被密码时,我刚刚放弃了资产主机。我只需要记住在启动前将其重新打开即可。
    猜你喜欢
    • 1970-01-01
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-16
    • 1970-01-01
    • 2020-09-14
    • 1970-01-01
    相关资源
    最近更新 更多