「IIS」カテゴリーアーカイブ

Visual Studio + IIS でデバッグ中にタイムアウトするのを防ぐ

Visual Studio + IIS でデバッグ中にタイムアウトしてしまう場合は、IISマネージャで、デバッグ対象のアプリケーションプールの詳細設定の「Pingの有効化」をfalseに設定する。

エラー : Web サイトのワーカー プロセスが IIS によって停止されました

ASP.NET 偽装

ASP.NET 偽装
@IT:連載:プログラミングASP.NET 第17回 ASP.NETにおける認証と認定
ASP.NET偽装を有効にしていると、ASP.NETアプリケーションがIUSRで実行されたりするため、イベントログに書き込めないなど、アクセス権関連のトラブルが発生する可能性がある。
たとえば、ASP.NET偽装を有効にしていたため、以下の例外が発生した。

System.InvalidOperationException がキャッチされました
  Message="ソース 'XXX' のログを開けません。ユーザーに書き込みアクセス権がありません。"
  Source="System"
  StackTrace:
       場所 System.Diagnostics.EventLog.OpenForWrite(String currentMachineName)
       場所 System.Diagnostics.EventLog.InternalWriteEvent(UInt32 eventID, UInt16 category, EventLogEntryType type, String[] strings, Byte[] rawData, String currentMachineName)
       場所 System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte[] rawData)
       場所 System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type, Int32 eventID, Int16 category)

この例外は、IISの仮想ディレクトリの設定で、ASP.NET偽装を無効にすることで解決した。

Using FastCGI to Host PHP Applications on IIS 7.0

IIS.net : Learn IIS7: Using FastCGI to Host PHP Applications on IIS 7.0: Running PHP Applications: Hosting Applications on IIS 7.0: Developing on IIS 7.0
IIS7.0にはFastCGIがビルトインされている。IISのFastCGIを使用してPHPアプリケーションを動作させるチュートリアル。
Windows Vistaで、「プログラムと機能」でCGIをチェックしていても、モジュールにFastCGIModuleが組み込まれていなかった。いったんCGIのチェックを外して更新してから、再度CGIにチェックを入れると、FastCGIがモジュール一覧に入った。CGIを有効にした状態でSP1を適用したからかもしれない。

IISでSSLのテスト環境を構築する

テスト用SSL環境(自己署名証明書)の構築手順です。

Windows Server 2003の場合

1.下記サイトからIIS 6.0 Resource Kit Toolsをダウンロードしてインストールする。
http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&displaylang=en

2. SSLを使用するWebサイトの識別子を調べておく。
IISマネージャの左ペインで「Webサイト」を選択すると、右ペインにWebサイトの一覧が表示される。SSLを使用するWebサイトの識別子を控えておく。
既定のWebサイトの場合は通常「1」です。

3. プログラムメニューの「IIS Resources」→「SelfSSL」→「SelfSSL」で開いたコマンドプロンプトで、selfsslを実行する。selfsslのオプションは以下の2つを指定すればあとはデフォルトで大丈夫です。
selfssl.exe /S:識別子 /V:有効期間日数
例:

selfssl.exe /S:1 /V:36500

4. IISマネジャーの、SSLを使用するWebサイトのプロパティで、SSLポートに443を指定する。

Windows Vistaの場合

1. IISマネージャの左メニューのコンピュータ名を選択して、右ペインのメニューで、「サーバ証明書」をダブルクリック。

2. 表示されたサーバ証明書一覧の右の「自己署名入り証明書の作成」をクリック。

3. フレンドリ名に適当な名前を入れてOKを押す。

4. 左メニューで、SSLを使用するWebサイトを選択して、右メニューの「バインド」をクリック。

5. 「サイトバインドダイアログ」で「追加」ボタンを押す。

6. 「サイトバインドの追加」ダイアログで、以下を指定して「OK」を押す。
種類: 「https」を選択
SSL証明書: 3.で作成した自己証明書を選択。

愛と苦悩の日記: IIS6.0テスト用SSLの手早い設定方法
IIS 6.0 Resource Kit Tools について