Posts Tagged IIS

IIS 7/7.5 でコンテンツをgzip圧縮して配信する

IIS7以降の静的コンテンツの圧縮機能についてのまとめ(動的は未検証)。デフォルトでは、閾値ファイルサイズ以上のHTML/CSSなどをgzipしてくれるようになっています(deflateは指定できない模様)。

GUI上で主な設定は完結しますが、細かい設定はappcmdなども併用しないと出来ないようですので、設定にこだわりたい方は注意。

GUI設定

「静的コンテンツの圧縮」は、次の箇所で設定が可能です。appcmdで指定する、対象ファイルも含めて、サーバー単位で細かな条件を決定する事になります。既定では、サーバーレベルで、静的コンテンツの圧縮はOnになっています。

  1. サーバー レベル:On/Off, 閾値ファイルサイズ、圧縮したファイルの保管場所、使用容量
  2. サイト レベル、フォルダ・仮想フォルダ レベル:On/Offのみ

サーバー レベルの画面:

IISマネージャ > サーバー名 > 「サーバー名 ホーム」 上の 「圧縮」アイコン (画面はIIS7の初期状態)
Read the rest of this entry »

, ,

No Comments

IIS7/7.5 クライアント証明書設定まとめ

IIS7/7.5のGUIはII6.0と比べて大きく変化しました。モジュール化が綺麗なので慣れるとわかりやすいと思えるようになりましたが、クライアント証明書のユーザマッピング設定箇所は大きく変わっているので、簡単に手順をまとめておきます。

GeoTrust社などのCAから証明書を購入したケースを想定していますが、自身でCAを運用しているケースでも同じ手順での対応ができると思います。

想定環境

  1. Web サーバー:IIS 7.5(ワークグループ)
    • 「Web サーバー (IIS)」の既定のインストールオプション
    • 「Windows 認証など必要な認証機能」のインストール
    • 「IIS クライアント証明書のマッピング認証」のインストール
  2. SSLサーバー証明書:GeoTrust社などのCAより購入
  3. SSLクライアント証明書:GeoTrust社などのCAより購入
  4. クライアント:Win7 + IE9 + 前出のクライアント証明書インストール済みユーザー

SSLクライアント証明書はPC単位ではなく、ユーザー単位でインストールするので、あくまでも接続検証は「クライアント証明書がインストールされたユーザー」で行う事が必要です。

Read the rest of this entry »

, ,

No Comments

IISとクライアント証明書の組合せ まとめ

IIS6/7とクライアント証明書を組み合わせて使う場合の注意点について、いくつかポイントをまとめ

クライアント証明書は、ログインユーザー毎にインストールできる為、ケースによってはユーザーの特定が出来て便利です。
証明書マッピングなどで、Windowsアカウントなどとの紐付することもできますし、証明書が入っているPCからだけしか操作を許可しない事も可能。

ただし、次のような点を合わせて考慮しておく必要がありましたので、まとめておきます。

ステータスコード:413への対処

IIS+クライアント証明書の組合せでサイトを構成しアプリを配置した後、操作中に「Internet Explorer ではこのページは表示できません」が表示されたり、「画面が真っ白になる」事がありました。エラーハンドルなどにもよると思いますが、経験的に次の場合に発生しました。

  • 数百KByte~数十MByteのファイルアップロード
  • 数十KByteのXMLアップロード

この場合、IISのWebログには 413 が記録されてます。このステータスコード 413 をキーで探すと、次の対策が有効とわかりました。
どうやらデーターをアップロード中にクライアント証明書の再ネゴシエーションが発生してしまった場合、それに伴うデッドロック回避のための仕組みが動作してしまうのが原因のようです。

プロパティ名から考えるに、常にクライアント証明書のネゴシエーションを行うことで、アップロード中などの再ネゴを防止する設定と考えらえます。

SSLAlwaysNegoClientCert プロパティを設定する

SSLAlwaysNegoClientCert
  Metabase Path
    /LM/W3SVC/n
    /LM/W3SVC

  Value
    FALSE (default)
      ↓
    TRUE

ただし上記の場合、設定がサイト単位になるので、クライアント証明書を常に要求する「サイト」への適用のみが可能となります。
そうではない場合、例えば、特定のアプリケーションや仮想フォルダだけクライアント証明書を要求したい場合には使えません。
サイト設計とのオーダーになってしまうのが難点です。

再ネゴの発生タイミング緩和のために、次のプロパティ値もあるので、場合によっては検討してもいいのかもしれません(TechNetでは、設定時の注意事項なども書かれてました)

UploadReadAheadSize プロパティ

基本は設定しないほうが良い模様(前出でダメだった場合に、検討)
後述のリンク先を参照ください。

なお、IIS7でも同じように設定が出来ました。IIS6からの変更点として格納先の変更はあったようですが、IIS6と同じ方法でアクセスは可能です。

サイト名・概要 サイトURLなど
クライアントが要求を再ネゴシエートできず、HTTP 413 エラーが返される
(Microsoft TechNet )
http://technet.microsoft.com/ja-jp/library/cc737382(v=WS.10).aspx
SSLAlwaysNegoClientCert Metabase Property
(Microsoft TechNet)
http://technet.microsoft.com/ja-jp/library/cc778630(v=ws.10).aspx
UploadReadAheadSize Metabase Property
(Microsoft TechNet)
http://technet.microsoft.com/ja-jp/library/cc728324(v=ws.10).aspx
IIS 資料。
(NetDriveさん)
http://www.netdive.jp/iis.html
IIS 6.0 と IIS 7.0 のセキュリティに関する変更点
(Microsoft TechNet)
http://technet.microsoft.com/ja-jp/library/ee890774.aspx

WebDAV利用時の問題点

IISでWebDAV利用+クライアント証明書の場合、48KB以上のファイルがPUTできない問題が発生する「ことが」あります(「ことが」を強調したのは、WebDAVクライアントによって問題が発生しなかった場合があった為)。

検証結果は、Windows2003WebEditionのIIS6.0をデフォルト状態で使った場合。

WebDAVサーバー WebDAVクライアント 48KB以上のファイルがPUTできるか?
IIS6.0 InternetExplorer 6.0 (Windows XP) できない
IIS6.0 WebDrive できる
IIS6.0 CarrotDAV できる

なぜWebDAVクライアントによって違いが出るのかは確認していません。
未検証ですがケースが近いので、InternetExplorerをクライアントとして使う場合には、前出の”SSLAlwaysNegoClientCert設定”は有効だと思います。

サイト名・概要 サイトURLなど
IIS 資料。
(NetDrive)
http://www.netdive.jp/iis.html
IISのWebDAVサービスでサイズの大きなファイル(48K)が413エラーになる
(中の技術日誌)
http://naka.wankuma.com/site/column/windows2003/00003.htm

No Comments

WMIの動作修正・回復方法

Windows版SNMP?のようなWMI(ちょっと違うか?)。さまざまな情報がとれて便利なのですが、重厚な仕組みなのか不具合っぽいことがおおかったり、OSのバージョンによって対応状況が違ったりと、頼るとやっかいな状況になることもあったり。

先日、あるカウンタ情報が取れなかったサーバーで、動作修正(回復)手順を紹介。どんなケースで有効化までわからないので、あくまでも困ったときのオマジナイ程度で。

ケース

次の条件で困ってました。他いくつかのIIS情報は取れていたので、WMIの動作がなにか一部おかしいのでは?と疑いました。

OS Windows Server 2003 Web SP2
WMIで取得できないカウンタ Win32_PerfRawData_SMTPSVC_SMTPServe

Read the rest of this entry »

, ,

No Comments

IIS6, IIS7, 7.5 サポート期間確認

Microsoft製品は、製品サポート期間が長いという印象があるので、具体的な期間を調べてみました。対象としては、弊社でも活用しているIIS。現行のIIS6(Windows Server 2003バンドル)、7(同2008バンドル)、7.5(同2008R2バンドル)を対象。

サービスパック(SP)を当てることを前提に、発売から最短で 10 年間 (メインストリーム サポート フェーズ 5 年間、および延長サポート フェーズ 5 年間)。なお、延長サポートに入ると機能追加はなくなり、セキュリティ更新プログラムの提供のみになります。

Read the rest of this entry »

, ,

No Comments