Windows Server 2008 / Windows Server 2008 R2で exeファイルのCGIを動作させる - exeファイル(実行ファイル形式)のCGIが動作しない - IIS

Windows Server 2008 でCGI(exe実行ファイル形式)を動かすには以下の設定をします。

ISAPI CGI の登録

サーバー名ノードの「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の組み込みのグループ名になります。

著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2024-01-06
作成日: 2009-04-25
iPentec all rights reserverd.