1

だから、私はsecure.domain.comのSSL証明書を持っています。このドメイン (git repo など) でいくつかの管理 Web アプリケーションを実行し、.htaccess 基本認証を使用して認証します。

https 経由でドメインと通信し、認証を求められた場合、証明書は検証されましたか、それとも認証後に検証されますか?

同様に、http 経由で接続する場合、要求を https に転送してから認証する簡単な方法はありますか?

4

2 に答える 2

4

HTTPS が使用する SSL または TLS セッションは、HTTP トラフィックが送信される前に構築されます。これには、証明書の検証が含まれます。セッションが構築されると、HTTP トラフィックが GET/POST などから始まりWWW-Authenticate、ログイン ボックスをトリガーするヘッダーで通常どおり応答します。

HTTP から HTTPS へのリダイレクトに関しては、使用しているサーバーによって異なります。というタグが付けられているので.htaccess、Apache を想定します。そのためには、ファイル内で次のような.htaccess処理を行う必要があります。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
于 2012-07-20T01:16:09.253 に答える
2

https 経由でドメインと通信し、認証を求められた場合、証明書は検証されましたか、それとも認証後に検証されますか?

SSL は HTTP プロトコルとは別のレイヤーであり、BASIC 認証は HTTP プロトコルの一部です。SSL ハンドシェークは、プロトコル情報が送信される前に最初に行われます。ハンドシェイクを行うエンドポイントと、互いの証明書を検証する方法によっては、検証がまったく行われない場合があります。しかし、それが発生した場合 (おそらく広く使用されているすべてのブラウザーで発生します)、認証データが送信される前のハンドシェイク中に発生します。

同様に、http 経由で接続する場合、要求を https に転送してから認証する簡単な方法はありますか?

これを行うにはいくつかの方法があります。これを行う方法を尋ねる StackOverflow には多くの質問があります。「force https」を検索してください。おそらく、どの構成ファイルにアクセスできるかが問題になります。仮想ホスト構成にアクセスできる場合は、非 SSL 構成Redirectの仮想ホストにディレクティブを追加し、 https にリダイレクトします。それ以外の場合は、.htaccess ファイルでこれを行う必要があります。これに沿ったもの(非SSLサイト):

Redirect 301 / https://yourdomain.com/
于 2012-07-20T01:16:35.150 に答える