- Proxomitronを使用するとWebページの表示が乱れます。どのフィルタに問題があるか見分ける方法はありますか?
-
まず、原因の切り分けから考えてみて下さい。
- 「Proxomitron」か「Proxomitron以外」か
- 「Webページフィルタ」か「ヘッダフィルタ」か
- 「問題を作っているフィルタ」はどれか
大ざっぱな切り分けから始まり、少しずつ原因を特定していきます。
- 「Proxomitron」か「Proxomitron以外」か
-
Proxomitronの機能を無効化することで、動作を検証します。
検証作業
-
「Webブラウザの設定を参照して、Proxyを通さない設定に変更する」
もしくは
「Proxomitronのメイン画面の [バイパス] ボタンを押す」
- ブラウザのページを何も開かない状態で、ブラウザのキャッシュをクリア
- 問題となっているWebページをブラウザで読み込み、動作確認
問題が発生する原因
- Proxomitron有効時のみ問題発生 … Proxomitronに原因あり
- Proxomitron無効時でも問題発生 … Proxomitron以外に原因あり
- 「問題を作っているフィルタ」はどれか
-
[Webページフィルタ] , [ヘッダフィルタ] のどちらに原因があるか、で検証作業の内容が変わります。
[Webページフィルタ] の検証作業
- Proxomitronのメイン画面より、[ログウインドウ] ボタンを押す (※)
- 問題となっているWebページをブラウザで読み込む
-
ログウインドウより、ピンク色の文字で記述されている全ての「Match ****: sample filter」(フィルタ名) をメモ
※ [右クリック -> クリップボードへコピー] で、メモしておくと楽です。
- Proxomitronの [Webページフィルタ] 画面で、メモしておいたフィルタの内の1つをチェックオフ
- ブラウザのページを何も開かない状態で、ブラウザのキャッシュをクリア
- 問題となっているWebページをブラウザで読み込み、動作確認
- 問題が解消されるまで、メモしておいたフィルタの動作確認を繰り返す
※htmlソースを解読できる方は、[編集 -> デバッグウインドウ] にチェックを入れれば、htmlソースから問題のフィルタを特定できます。
dbug..
によるURLコマンドを利用すると、より簡単に検証できます。
[ヘッダフィルタ] の検証作業
[ヘッダフィルタ] は原則的にログに残らないため、有効になっているフィルタを1つずつ無効化して検証することが基本となります。
- [送信(受信)するヘッダフィルタ] 画面で、有効になっているフィルタの内の1つをチェックオフ
- ブラウザのページを何も開かない状態で、ブラウザのキャッシュをクリア
- 問題となっているWebページをブラウザで読み込み、動作確認
- 問題が解消されるまで、有効なフィルタの動作確認を繰り返す
先程は「ヘッダフィルタは原則的にログに残らない」としましたが、ある程度は [ログウインドウ] から動作しているヘッダフィルタを推測することが可能です。
- $LOG により明示的にログに出力しているフィルタは、ログに残る
-
Jumpto: http://somehost.com/
がログに残れば、$JUMPによりリダイレクトしたと判断できる
($JUMP を使用しているヘッダフィルタが怪しい)
-
RedirectTo http://somehost.com/
がログに残れば、$RDIRによりリダイレクトしたと判断できる
($RDIR を使用しているヘッダフィルタが怪しい)
-
BlockList ****: in SampleList, line **
がログに残れば、ブロックリスト「SampleList」を使用しているフィルタが作用したと判断できる
( $LST(SampleList)
の表現があるヘッダフィルタが怪しい。参考: $LST)
問題が発生する原因
- 「Sample Filter」をチェックオフで問題が解消 …「Sample Filter」に原因あり
- 「ホスト名調査に失敗」のエラー画面のロゴを変えるために、ProxyLogo.jpg を導入しましたがロゴが変わりません。
-
次の手順で ProxyLogo.jpg を導入してください。
- Proxomitron, ブラウザを終了
- ブラウザのページを何も開かない状態で、ブラウザのキャッシュをクリア
- ProxyLogo.jpg をProxomitronのhtmlフォルダへコピー
- Proxomitron起動
- ブラウザ起動
- IE7でアドレスバーにURLコマンドを打ち込んでも動作しないのですが
-
IE7は ..
を含むURLを不正なアドレスとして弾いているようです。
回避策として、http://prefix-dbug//www.google.co.jp/
のように、..
を //
に代えて打ち込んでください。(左例はURLプレフィックスが prefix-
とした場合)