Windows Server 2008 でCGI(exe実行ファイル形式)を動かすには以下の設定をします。
サーバー名ノードの「ISAPIおよびCGIの制限」をダブルクリックします。
下図の画面が表示されます。右側の[操作]エリアの[追加]を選択します。
[ISAPIまたはCGI制限の追加]ダイアログボックスが表示されます。[ISAPI または CGI パス]の欄に実行させたいCGIのExeファイルを指定します。[説明]欄にはわかりやすい名前を設定します(任意)。設定ができたら[OK]ボタンを押してダイアログを閉じます。
ここで登録をしないと「502 Webサーバがゲートウェイまたはプロキシサーバーとして動作しているときに、無効な応答を受信しました。」のエラーが起きます。
登録したのみでは、アクセス制限が「許可しない」になっていますので、選択して右側の[操作]エリアの[許可]リンクをクリックして、アクセス制限を許可します。
CGIのディレクトリの「ハンドラマッピング」を開きます。
「CGI-Exe」の「機能のアクセス許可の編集」を選択します。
[機能のアクセス許可の編集]ダイアログボックスが表示されます。ダイアログの「実行」チェックボックスにチェックをします。
必要に応じて、アクセス権を設定します。(ログファイルに書き込み権限をつけるなど)
インターネットユーザー(匿名アクセスユーザー)はIUSRとして定義されていますので、ファイルにIUSRに対する権限を追加します。
Windows 2003などの古いIISでは、匿名アクセスユーザーは "IUSR_(マシン名)"という名称で定義されています。
IIS7.0以降では "IUSR"はIISの組み込みユーザーのアカウントになります。"IIS_IUSRS"がIISの組み込みのグループ名になります。