web-dev-qa-db-ja.com

IIS7 Windows認証を使用すると、一部のユーザーにとって遅い

Windows認証がオンになっているIIS7に「helloworld」.htmlファイルを含むインターネットサイトがあります。ユーザーは、Webサーバー上のローカルマシンのWindowsユーザーです。一部のユーザーにとって、サイトは非常に遅いです。 fiddler2を使用して、ブラウザーが接続してからブラウザーが最初のGET要求を開始するまでの15秒の遅延まで追跡しました。

ACTUAL PERFORMANCE
--------------
ClientConnected:    15:28:09.737
ClientBeginRequest: 15:28:24.750
ClientDoneRequest:  15:28:24.750
...

次に、サイトはHTTP 401で応答し、ブラウザーは、HTTP 200ですぐに返される2番目のGET要求(おそらく関連する認証トークン)ですぐに応答します。

この問題は、どのマシンからアクセスしたかに関係なく発生します。この問題は、IE(v6-v8)、FirefoxおよびChromeは正常に機能しますが、.

私のマシンでは、DNS名ではなくサイトのIPアドレスを使用すると問題が解決しますが、それでも他のすべての人の問題は解決しません。

この記事 で構成を変更しようとしましたが、修正されませんでした。

何か案は?

3
d4nt

私はクライアントと同じような状況にありました。ドメインコントローラーが正しく構成されておらず(NT4モード)、IEで[Windows統合セキュリティを有効にする]オプションがオンになっています。

IEは、Windows統合セキュリティモードでWindows2000 +モードのAD/Kerberosチケットを使用して要求を試行します。Webサーバーがチケットの認証に失敗すると、NTLMにフェイルバックします。

3つのオプションがあります。

  1. AD設定の骨の折れる部分を把握します。ドメインコントローラーがすべて良好で、Webサーバーが異常である可能性があります。このKB記事は古いですが、役立つ場合があります http://support.Microsoft.com/kb/326985
  2. IISをNTLMのみのモードに切り替えます。これを行うには、メタベースをハッキングします。これは実際には非常に簡単ですが、NTLMを使用したくない場合はKerberosよりも低速で安全性が低いため、そうする必要はありません。
  3. IEの[Windows統合セキュリティ]チェックボックスをオフにします。ネットワーク上の他のWebアプリを壊す可能性があるため、これも実際には行いたくありません。

残念ながら、私の状況では、エゴが関係しているため、オプション#2を選択する必要がありましたが、非常にうまく機能しました。

3
ntcolonel

ここで大声で考えているだけですが、クライアントマシンはドメインまたはワークグループにありますか?
(はい、担当者がいたら、これはだろうコメントになります!)

0
Damian Powell