none
Windows7+IE8でプロキシを経由するとWebアプリの処理が実施されないケースがある RRS feed

  • 質問

  • IE8.0.7601.17514 でプロキシサーバを経由すると、途中でデータが無視されるような事象が発生します。
    ※Webアプリケーションの特定の処理結果が反映されない(データが表示されない)

    問題のケース

    ・IE8.0.7601.17514 + プロキシ経由あり

    正常のケース

    ※以下のIEのバージョンで同じ動作を試しましたが、こちらは正常処理されました
    ・IE8.0.7601.17514 + プロキシ経由なし
    ・IE8.0.6001 + プロキシ経由あり
    ・IE9.0.8112.16421 + プロキシ経由あり

    ・他のブラウザ + プロキシ経由あり

    どのような問題が想定されますでしょうか。
    また、問題の切り分けの調査方法があれば教えて頂きたいです。
    よろしくお願い致します。
    2013年7月17日 6:36

すべての返信

  • どこで問題が起きているのか切り分けられないのでしょうか? 

    ブラウザから要求は出て行っているか、サーバーできちんと要求を受けているか、サーバーで要求は処理されているか、処理結果はサーバーから送信されているか、サーバーから送信された応答はブラウザで受信されているかなど、パケットキャプチャツールなどを使ってどこまで期待したとおりになっているか順番に調べていかないと、多分原因は分からないのではないかと思います。

    2013年7月17日 8:20
  • Webアプリケーション側でリクエストを受信しているかの確認と、Webブラウザー側でリクエストを送信しているかの確認をするといいでしょう。後者にはFiddlerをお勧めしておきます。
    2013年7月17日 8:34
  • 全然関係ないかもしれませんが、一つ思い出したことがあるので書いておきます。

    IE の「インターネットオプション」の「詳細設定」タブで、「HTTP 1.1 を使用する」のチェック(プロキシサーバー経由になる場合は「プロキシ接続で HTTP 1.1 を使用する」のチェック)の有無が問題になったことがありました。

    詳しくは以下のページを見てください。

    ToolkitScriptManager と gzip 圧縮
    http://surferonwww.info/BlogEngine/post/2012/11/21/toolkitscriptmanager-and-gzip-compression.aspx


    • 編集済み SurferOnWww 2013年7月17日 9:13 誤記訂正
    2013年7月17日 9:12
  • 「特定の処理結果」の「特定」の部分について
    なんらかの規則性があるか分かりますでしょうか?(ボタン押下時の検索結果とか)

    2013年7月17日 13:05
  • アドバイス有難うございます。

    パケットから順を追って調べてみることにします。

    2013年7月17日 23:31
  • Fiddlerを使用してみたいと思います。ありがとうございます。

    2013年7月17日 23:32
  • プロキシのhttpバージョンの互換も疑ったのですが、特に問題はありませんでした。
    2013年7月17日 23:33
  • 規則性があるようですが、まだ特定できておりません。

    問題の処理実行箇所は特定できているのですが、同じような処理要求でも100%正常処理される箇所と、100%結果が戻ってこない箇所ことがあるので特定に手間取っております。パケットが短い時やbrowserとの通信処理が頻繁に発生する箇所などを現在は疑って調査しているところです。

    • 回答としてマーク yang.mi 2013年7月17日 23:49
    • 回答としてマークされていない yang.mi 2013年7月17日 23:50
    2013年7月17日 23:40
  • 問題は、以下のような部分です

    ①テーブルリストが表示される個所で、リフレッシュボタンを押すとDBより最新の情報を取得し表示させる機能があるのですが、このリフレッシュボタンの処理が実行されない

      ※プロキシを除外したり、別なbrowser、IEバージョンで実施すると正常動作する

     また、画面を開いたときや、ダイアログ(popup)を閉じた時などにテーブルリストを自動的にリフレッシュする処理も問題が発生する

    ②新規ウインドウを開いた際に、DBよりデータを取得して、値を表示している箇所があるのですが、特定の画面のみ値が表示されない

      ※プロキシを除外したり、別なbrowser、IEバージョンで実施すると正常動作する

    ※①及び②の処理は、正常動作している画面も存在しております。

    2013年7月17日 23:57
  • 問題は、以下のような部分です
     
    分かりませんが、なんとな~く、
    大きめのサイズかつ2回目以降のリクエスト(新規ウィンドウやリフレッシュとあるので)で発生しやすいのかなという印象を受けました。
    FiddlerはローカルPCのProxyですので、 その際の発生有無も少し気になります。(SSLだったりしますでしょうか?)
     
    書き込みを見て連想してしまったのは、
    大きめのサイズというとchunked応答や、マルチパート形式での送信、
    リフレッシュというとキャッシング、Locationヘッダ、Cookie、認証、XHR(XmlHttpRequest)、KeepAlive辺りが気になりました。
     
    Proxy側のログを出力するのは難しいでしょうか。
    • 回答の候補に設定 星 睦美 2013年7月23日 7:51
    2013年7月18日 13:57
  • 2回目以降のリクエストという点では、確かにその通りかもしれません。

    ※IE6の古い環境がありましたので、試しにリフレッシュボタンの処理実行をしたら、2回目実行時にfreezeしてしまいました。

    Proxyログを取れるように調整してみます。

    2013年7月19日 2:02