| Q | IIS マネージャを使用して、Web サイトの構成をファイルにエクスポートしています。それは問題なく行うことができ、結果の XML ファイルを表示することができています。しかし、そのファイルを他のサーバーにインポートしようとすると、Web サイトが異常終了してしまいます。マイクロソフトによると、IIS 6 メタベースは、別のコンピュータに移動することができるようになっているとのことです。何がいけないのですか? |
| A | IIS 6 の主な改善点の 1 つに、IIS 5 のバイナリ メタベースよりも管理が非常に簡単なったという点があります。しかし、IIS マネージャで Web サイトをエクスポートする際、既定で、エクスポートされたメタベースには、IUSR および IWAM パスワードなどの、ローカル コンピュータ キーで暗号化されたキーを含むことができます。そのため、それらの設定を他のサーバーにインポートする際に、そのサーバーはそれらのキーの暗号化を解除することができません。 その解決策は、Web サイトをエクスポートする際に、パスワードを設定することです。(図 1 参照) ![]() 図 1: Web サイトの構成をファイルにエクスポートする このフォームは、IISマネージャでエクスポートを行う必要がある Web サイトを選択し、[すべてのタスク]、[構成をファイルに保存する] を選択する際に表示されます。この場合、セキュリティで保護されたキーは、コンピュータのキーではなく、設定したパスワードで暗号化されます。次にパスワードを入力し、エクスポート先のサーバーにメタベースをインポートすることができ、正常にこの"秘密"の暗号化が解除されます。 その場合でも、仮想ディレクトリによって参照される匿名ユーザー、IP アドレス、ファイル パスなどのソース サーバーに一意な、インポートされた Web サイトに含まれる情報を更新する必要があります。 |
| Q | ユーザーのスキャンのアクセスが拒否された後も依然としてサイトにログオンされてしまうことに気づきました。その後、アクセスは拒否されますが、より適切な時期にアクセスが拒否されるように、これが起こる原因を解明したいと思います。 |
| A | この問題は一般的に、IIS の Web サイトの基本認証パラメータを使用する際に起こります。ユーザーは、そのサイトに認証を行う際、アクセスのその後のリクエストに使用する "トークン" を受け取ります。しかし、クライアントのコンピュータが IIS サーバーへのすべてのリクエストに認証を行う必要がないようにするために、 (そうなると動作が非常に遅くなります) IIS は、15 分間トークンをキャッシュします。これは、UserTokenTTL レジストリ設定で設定できる構成可能なパラメータです。この設定では、トークンをキャッシュする必要がある秒数を指定します。この設定は、以下のレジストリで、必要に応じ、指定することができます。 HKLM\System\CurrentControlSet\Services\Inetinfo\Parameters この特定の設定は、基本認証でのみ有効となります。統合 Windows 認証トークンは、キャッシュが行われません。 |
| Q | IIS 6 の http.sys リスナには、カーネル モード キャッシュ機能があります。IIS 5 では、このキャッシュ機能はありませんが、IIS には独自のキャッシュ機能がビルドインされています。IIS 5 のキャッシュ機能は、IIS 6 にも残されていますか? また、http.sys によって置き換えられていますか? IIS 6 にも IIS 5 のキャッシュ機能がある場合、これらのキャッシュ機能はどのように相互作用しますか ? |
| A | Http.sys は、IIS 6 用のカーネル モードの http リスナで、Windows Server 2003 にのみ含まれます。これには、コンテンツをカーネル モード キャッシュから直接配布できるように応答キャッシュがビルド インされています。カーネル モード キャッシュ機能は、速度が非常に速く、サーバーから必要とするオーバーヘッドがより少なくなります。そのため、キャッシュを効率よく使用することにより、サーバーの負荷を減らし、同時にスループットを大幅に増加することが出来ます。 おっしゃるように、IIS 5 には、この機能がありませんが、独自のキャッシュ機能があります。(厳密には、複数のキャッシュ機能がありますが、ここではわかりやすいように、1つのキャッシュ機能としてお話します) これらのキャッシュ機能は、IIS 6 にも残されており、カーネル モード キャッシュ機能によってすべてのコンテンツをキャッシュすることができるわけではないため、http.sys キャッシュ機能がある場合にもパフォーマンスを向上させます。たとえば、認証されたユーザーによって要求されたコンテンツは、http.sys によってキャッシュされませんが、IIS 6 の"ユーザー モード" キャッシュでは、キャッシュされます。 したがって、この質問に対する答えは、"Yes" です。IIS 5 のユーザー モード キャッシュ機能は、IIS 6 でも実行できます。これらの 2 つがどのように相互作用するかという 2 つめの質問の答えは少し複雑になります。キャッシュされる情報またはキャッシュされない情報に関し、直接相互に通信を行わないため、2 つのキャッシュ機能は、直接相互作用しません。しかし、キャッシュのパフォーマンスを最適に調整するためにスクリプトまたはサーバーで構成可能な要素がいくつかあり、それらを認識する必要があります。 この問題に関し、Web and Application Server Infrastructure - Performance and Scalability (英語) というタイトルの優れた文書があります。この文書に目を通すことを強くお勧めします。 |
これまでの IIS Insider コラムの質問と答えの一覧は、ここをクリック してください。