HTTPエラー 502.2 Bad Gateway

このQ&Aのポイント
  • win2003,IIS5のころからWEBシステムを納品しています。
  • 今回、windows2008,IIS7.0の環境上でCGIアプリを動かそうとしたら、HTTP エラー 502.2 - Bad Gatewayというエラーになって動きません。
  • aaa.exeは正しく動き、ロゴなどは正しく表示できますが、その後のbbb.exeが動くときに上記のエラーになってしまいます。
回答を見る
  • ベストアンサー

HTTPエラー 502.2 Bad Gateway

win2003,IIS5のころからWEBシステムを納品しています。 今回、windows2008,IIS7.0の環境上でCGIアプリを動かそうとしたら、 HTTP エラー 502.2 - Bad Gateway 指定されたCGIアプリケーションは、正しく動作できませんでした。HTTpヘッダーの完全なセットが返されませんでした。返されたヘッダーは""です。 というエラーになって動きません。 (cgiアプリはc++言語で作成しています) システムの仕組みは、静的なdefault.htmlでログインID+passwordを入力し、 JavaScriptで  入力チェックを行い、OKだったら、  white_pageのhtmlをサイズ指定でwindows.openし、  action, target, method(post)指定で  aaa.exeを動作させています。 aaa.exeはwhite_page.htmlに、 ロゴなど、画面の外枠html(iframe有り)を表示しています。 外枠htmlのbodyのonLoadで、iframe内に 表示する、bbb.exeを post で submit しています。 aaa.exeは、正しく動き、ロゴなどは正しく表示できますが、 その後のbbb.exeが動くときに上記のエラーになってしまいます。 aaa.exeのログは正常に記録されますが、bbb.exeのログはファイルすらありません。 上記エラーコードで、いろいろ検索してみましたが IIS7のbug っぽいようで、、、 アプリケーションではどうしようもないように受け取れるのですが 何か解決方法をご存知の方はいらっしゃらないでしょうか? よろしくお願いします。

  • jg1wjz
  • お礼率91% (148/162)
  • CGI
  • 回答数2
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • localica
  • ベストアンサー率52% (202/385)
回答No.1

バグなら、MSへ報告して修正依頼してはいかがでしょう。 おそらく設定がきちんとされていないのではないのでしょうか。 http://technet.microsoft.com/ja-jp/iis/ff625168.aspx 少し前IIS7.5でperlを動作させた時、構成の変更を感じました。 セキュリティが強化されて、細かく設定する必要があるようです。 502エラーなのだから、アクセスできないのでしょう。 トレースを見れば、原因と対応がわかると思います。

jg1wjz
質問者

お礼

ありがとうございます。 トレースを見てみます。

その他の回答 (1)

  • localica
  • ベストアンサー率52% (202/385)
回答No.2

もう少し説明すると、 ・IISにexeが関連付けられているか ・MIME、ハンドラー、モジュールなどがIISにて解釈できているか ・セキュリティの認証を透過しているか 勝手な推測をすると、iframeで上手く行かないのなら、パスの解釈違いやディレクトリ、ファイルのアクセス権の問題の可能性が高そうです。私の場合も別フレームから呼び出していたので権限の問題が発生していました。 テストとしては、iframeではなく、同じCGIからベタに呼び出して実行できればiframeの呼び出しが正しくないのでしょう。 この問題は、IISの設定と、本体サーバーのACLを解釈する必要もあるからです。 http://technet.microsoft.com/ja-jp/library/dd939088.aspx

jg1wjz
質問者

お礼

本日、解決しました! ポスグレを使っているのですが、そのdllが悪さをしていたようです。 まだ自分で確認していませんが、 dllのバージョンをあげたのだと思います、 とり急ぎ、有難うございました!

関連するQ&A

  • CreateFile が ERROR_PATH_NOT_FOUND のエラーになる

    VC++を使っています。OSは Windows2000 です。 CreateFile で指定するファイル名をフルパスで指定し、EXEを同じ ディレクトリに置いて実行したところエラーとなり、詳細コードが ERROR_PATH_NOT_FOUND でした。 プログラムは以下のようになっています。 #define AAA "c:winnt\\system32\\AAA.log" hOpen = CreateFile( AAA, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); 上記プログラムの AAA.exe を system32下に置いて実行すると、 パスが不正だと怒られてしまいます。。。 AAA.exe を別ディレクトリで実行すると、sysytem32下にちゃんと ファイルが作成されます。 AAA.exe を CreateProcess する BBB.exe を造って試しましたが、 やはり BBB.exe が system32下にあると駄目でした。 どうやらカレントディレクトリが同じだと駄目みたいです。 「"AAA.log"」とせずにフルパスとしているのは以下の理由のためです。 ・ファイルは必ず system32下に作成したい。 ・AAA.exe は必ず system32下にある。 しかし、BBB.exe が必ず system32下にあるとは限らないため、 「"AAA.log"」とした場合、BBB.exe を実行したディレクトリに 作成されてしまう。 CreateFile には今回のような制限があるのでしょうか??? #ヘルプを見る限り、書いてないです。。。

  • 検索ロボットへの拒否について

    サイトを運営中ですが、 例えば、aaa.htmlの中で、iframeでbbb.cgiを入れています。 googleのsite:で検索してみると、aaa.htmlとbbb.cgiが一緒に登録されていますが、aaa.htmlから入ってもらいたくて、bbb.cgiをDisallowでrobots.txtに入れたいですが、そうすると、bbb.cgiをロボットが巡回しなくなり、aaa.htmlの登録にも影響がありますか?aaa.htmlの内容のほとんどがbbb.cgiの内容です。 もし、他に、aaa.htmlだけでbbb.cgiは、サイト登録されない方法がありますか?

  • HTTP レスポンスヘッダ

    URLを指定してHTTP レスポンスヘッダ等が確認できるサイトで、 Request typeをGETやPOSTが選択可能なところを探しています。 少し探した結果、 http://web-sniffer.net/ というところが見つかりましたが、このようなサイトが他にもあれば教えてください。 宜しくお願いします。

  • CGIで、HTTP エラー 406が出る

    ここで良いのかどうかと迷ったのですが、webサーバを立ち上げて、今までレンタルサーバに入っていたものを移していました。 ところが、今まで動いていたCGIの一部でエラーが発生します。 いろいろ調べた結果下記のような症状があることが解りました。 ----test.cgiここから------ #!/usr/bin/perl print"Content-type: text/html\n\n"; print"ok"; exit; ----test.cgiここまで------ 上の様なCGIを呼び出すのですが、 <form method="post" action="test.cgi"> <input type="submit" value="戻る" name="return"> </form> これで、以下のエラーが出ます ---------------------------------------------- リソースを表示できません 検索中のリソースは、このブラウザで開くことができません。 次のことを試してください: 別のリンク先を表示するには、[戻る] ボタンをクリックしてください。 [検索] ボタンをクリックして、インターネット上の情報を検索してください。 HTTP エラー 406 - 受信不可 Internet Explorer ---------------------------------------------- ただし、nameを使わない場合 <form method="post" action="test.cgi"> <input type="submit" value="戻る"> </form> valueが"更新"の場合、 <form method="post" action="test.cgi"> <input type="submit" value="更新" name="return"> </form> などは正常にcgiを行います。 多分漢字コードがshift-jiだから起こり、httpdに何か設定をしてやれば良いのではないかと思いますが、何をしたら良いのかが解りません。 ただし、諸般の事情によりshift-jisは変更できません。 よろしくお願いします。 FedoraCore4 perl-5.8.6-24 httpd-2.0.54-10.3 インストールは、FedoraCore4のサーバ最小設定でインストールして、後はyumでインストールしました。

  • CGIのエラー

    やっとIISにPerlを組み込むことができたのですがエラーが出て先に進めません cgiを実行すると CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers. と表示されます 何が何だかさっぱりわかりません ご指導願います

  • Apache HTTP Server

    インストール時にIP番号 「127.0.0.1」にApache HTTP Serverを設定し、Apache の「htdocs」 にhello.cgiというファイルを保存したのに、 1. Apacheを立ち上げると httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.131.65 for ServerName とエラー表示(?)されます。 2. URLを「http://127.0.0.1/hello.cgi」と指定してもブラウザ(FireFox)には 「127.0.0.1 のサーバへの接続を確立できませんでした。」とエラーになります。 何がいけないのでしょうか? どなたか教えてくださると幸甚です。

  • インラインフレームのみをスクロールさせるリンクの張り方

    aaa.htmlページ内にインラインフレームでbbb.htmlというページを表示しています。 aaa.htmlのリンクから、bbb.html内の指定した箇所を自動スクロールさせ表示させたいのですが、aaa.html自体もスクロールしてしまって困っています。aaa.html自体はスクロールせず、インラインフレーム内のbbb.htmlだけスクロールさせたいのですが、どうしたらよいのでしょう。 現在の設定: ○aaa.html <a href="bbb.html#ccc" target="inline">リンク</a> <iframe src="bbb.html" name="inline"></iframe> ○bbb.html <span id="ccc">ここを表示させたい</span>

    • ベストアンサー
    • HTML
  • aspへPOST時のエラー(405)

    とある asp ページへ PHPスクリプトから HTTP_Request を使ってPOSTしています。 すると、HTTPの405エラーが返ってきます。 また、戻されるHTMLは 「ファンクションが間違っています」という文字列だけです。 これはIISが出している何かのエラーメッセージでしょうか? 思い当たる原因をご存知の方がいらっしゃいましたらご教授頂けると幸いです。 宜しくお願い致します。

  • HTTPヘッダーがどうしてもISO-8859になる

    Apache2.2.4(ソースからインストール)を使っています。 以下の問題は,IEなら問題ありません。すべてFirefoxで見る場合のみです。 HTTPヘッダーに 「Content-Type: text/html; charset=ISO-8859-1」が 入ってしまい,metaヘッダーにどんなcharsetを指定しても FirefoxがISO-8859と解釈して,文字化けを起こします。 httpd.confには, AddDefaultCharset ISO-8859の行はありません。 しかし, AddDefaultCharset UTF-8や AddDefaultCharset none と指定しても,ヘッダーにcharset=ISO-8859-1が表示されることには 変わりなく,問題解決しません。 .htaccessファイルは一切使っていません。 この問題はCGIに関係なく,任意のファイルで発生します。 一体,なぜISO-8859がヘッダーに現れるのでしょうか。

  • Visual studio c++ dll作成時のエラー

    c初心者です。 ユーザーからもらったaaa.dllにある関数Calc_UL(struct型)をコールするbbb.dllを作成しようしています。 コンパイルはとおるのですが、 dllのビルドがうまくいきません。ユーザーからはaaa.dllとaaa.libとaaa.hだけもらっており、aaa.libにはリンク設定をしています。 bbb.obj : error LNK2001: 外部シンボル ""int __stdcall Calc_UL(struct ULData *)" (?Calc_UL@@YGHPAUULData@@@Z)" は未解決です Debug/bbb.dll : fatal error LNK1120: 外部参照 1 が未解決です。 link.exe の実行エラー aaa.dllを指定するところが特に無いのですが、どこかで指定しないといけないのでしょうか? よろしくお願いします。

専門家に質問してみよう