1

テスト環境で Varnish 4 を使用しており、基本認証を使用してコンテンツへのアクセスを保護したいと考えています。

私がやりたいことは、最初のリクエストで基本認証のプロンプトが表示され、ユーザーがユーザー名とパスワードを入力すると、それが要求されなくなることです。Varnish を使用してルールを設定し、正しい承認を確認し、承認されていない場合はそれを提供するようユーザーに依頼しました。

私のエンド ユーザーは、最初のページが表示される前に、ブラウザーで基本認証の詳細を繰り返し要求され、20 回入力しなければならないことがあると不満を漏らしています。

Chrome ブラウザーを使用している場合、開発ツール パネルを開いて、開発ツール パネルを開いた状態で要求をキャッシュしないにチェックを入れない限り、これは発生しないようです。IE のさまざまなバージョンで、これは常に発生します。

私の VCL では、基本的な認証ルールはサブ vcl_recv セクションで次のようになります。

if (!req.http.Authorization ~ "Basic xxxxxxxxxxxxxxxxxx=="
    # Don't require auth if IP on the authpass list.
    && !client.ip ~ authpass
    # Don't require auth if this is the live website.
    && !req.http.Host == "www.mylivesite.com") {
    return(synth(401, "Authentication required"));
}
unset req.http.Authorization;
4

1 に答える 1