2

Apache、lighttpd、nginx などの Web サーバーで HTTP 基本認証を使用すると、パフォーマンスにどのような影響があるか知りたいです。ボトルネックは、ユーザーを認証するためにサーバーが実際にファイルを読み取ることだと思います。また、ユーザーを認証するためにファイルを読み取るコストは、そのファイル内のユーザー数に比例するようです。

私が持っている質問は次のとおり
です。1.ファイルを介した基本認証が劇的に低下し始める特定のユーザー数はありますか、それともファイル内のユーザー数に比例しますか?
2. HTTP のステートレスな性質を考慮して、ユーザーが 1 つの要求で Web サーバーによって HTTP Basic Auth を使用して認証された
場合:これは有効なユーザーからの要求ですか?
または
-後続のリクエストでhttpヘッダーで使用するトークンのようなものを取得して、サーバーがパスワードファイルを再度解析するのを回避できるようにしますか?

前もって感謝します

4

3 に答える 3

3
  1. 直線的に相対的。私は心配しません。HTTP 基本認証はスケーラブルであることが証明されています。例として Twitter API を取り上げます。基本認証を使用します。

  2. 「HTTPプロトコルはステートレスであるため、同じクライアントからのものであっても、各リクエストは同じように処理されます。つまり、サーバーからリクエストされたすべてのリソースは、受信するために認証資格情報を再度提供する必要がありますさいわい、ここではブラウザが詳細を処理するので、ユーザー名とパスワードを入力する必要があるのは、ブラウザ セッションごとに 1 回だけです。ブラウザで同じ Web サイトにアクセスしてください。」

詳細はApache Auth ドキュメントを参照してください。

于 2009-09-23T00:32:46.693 に答える
1

私の経験は Apache 2.x のみです。

  1. はい。これは、デフォルトの認証プロバイダー (ファイル) と線形になります。使用するap_cfg_getline()ので、回線数(ユーザー)に比例します。
  2. はい。mod_aaa は毎回パスワードを解析する必要があります。Cookie またはトークンベースの認証にMemCookieなどを使用できます。
于 2009-09-23T00:29:02.047 に答える
0

ログオン時にファイルを 1 回解析すると、ユーザーの数に関係なく、かなりうまくスケーリングされます。私は本当にそれについて心配することはありません。将来的には、適切なインデックスを使用してデータベース駆動型のアプローチを開発できます。サイトを開発する際に発生するすべてのボトルネックを疑っていますが、Basic Auth は非常に長い間それらの 1 つになることはありません。

于 2009-09-23T00:28:36.000 に答える