0

セットアップ中のサーバーを持っていますが、回避できないApache構成の問題に直面しています。

私は Apache 2.2 と Passenger を持っており、分散アセット ホスティングを備えた Rails アプリを提供しています。これは、assets0.example.com、assets1、assets2 などから静的アセットを提供できるようにする Rails の機能です。

サイトは、起動するまでパスワードを設定する必要があります。Apache の を使用してサイトに HTTP 認証をセットアップしましたmod_auth_digest。私の構成では、AuthDigestDomain ディレクティブを使用して、各アセット URL へのアクセスを許可しようとしています。問題は、それが機能していないように見えることです。ページをロードするときにパスワードの最初のプロンプトが表示されますが、アセット URL のいずれかからアセットを初めてロードすると、2 回目、3 回目、または 4 回目のプロンプトが表示されます。一部のブラウザでは、ページ上のすべてのリソースについてプロンプトが表示されます。

これがディレクティブの指定方法の問題であり、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 に答える