はじめまして。
相談に乗っていただきたいのですが、
Fedora6で自宅サーバーを公開しています。
しかし、極稀に当サイトを表示できない方がいらっしゃるようです。
(大多数の方は問題なく見れています)
tracert,pingなどは通るらしいのですが
アクセスすると真っ白なまま止まってしまうらしいです。
PMTUDブラックホールを疑い
# ifconfig eth0 mtu 1454
を行いmtuを1454にしても改善されません。
当方、相手側にも全ての機器を再起動しました。
エラーログにも残らないので困ってしまっています。
環境は
Fedora6 apache2.2
回線:フレッツ光
ルーター:RT-200KI
もちろんアクセス規制などの設定は一切行っておりません。
参照先サイトが問題のサーバーにあるサイトです。
どうか解決策をご教授願えませんでしょうか
> tracert,pingなどは通るらしいのですが
> アクセスすると真っ白なまま止まってしまうらしいです。
この状態は、ネットワークとしての到達性があり、何らかのレスポンスが返ってきているから思います。従って、pingなどはフラグメント禁止したりパケットサイズを大きくしたりしなければ何も問題がでない可能性が高いはずです。(時として、TCP/icmpで違いがある場合もありますが今回は関係ないはずです。)
真っ白とはいえ、何かが返ってきているはずなので、画面のソースを見れば(IEなら真っ白画面上で右クリックで「ソースを表示」)何かがきているはずです。そこからではないでしょうか?
意外と、見た目は全てのソースがあるのに表示できないケースが時々あります。
ブラウザを変えてみると表示されたりして、その違いから原因(タグの問題等)がわかることがあります。
なお、致命的ではないと思いますが、若干タグに問題はあるようです。
◇ 31行: /DIVの前に、/TDが省略されています。
◇ 31行: /DIVの前に、/TRが省略されています。
◇ 31行: /DIVの前に、/TBODYが省略されています。
◆ 31行: /DIVの前に、/TABLEが必要です。
◆ 32行: /TDに対応する開始タグが見つかりません。
◆ 33行: /TRに対応する開始タグが見つかりません。
◆ 34行: /TBODYに対応する開始タグが見つかりません。
◆ 35行: /TABLEに対応する開始タグが見つかりません。
◆ 58行: 未定義の属性です。(TATLE)
◆ 63行: 未定義の属性です。(color)
◆ 80行: 未定義の属性です。(color)
◆ 94行: 未定義の属性です。(color)
◆ 97行: 未定義の属性です。(color)
◆ 104行: 未定義の属性です。(color)
◆ 109行: 未定義の属性です。(color)
◆ 112行: 未定義の属性です。(color)
◆ 167行: XHTMLの記法が使われています。('/>')
◆ 216行: /DIVに対応する開始タグが見つかりません。
> PMTUDブラックホールを疑い
> # ifconfig eth0 mtu 1454
> を行いmtuを1454にしても改善されません。
ソースを見れば、これが必要か否かはすぐにわかります。
迅速なお返事ありがとございます。
見れないとメールを頂いた方とは現在連絡が取れません。
ですので真っ白なページのソースはすぐに確認できません。
しかし、当時やり取りしていた時
キャッシュの削除,E6,IE7,FireFoxで試して頂いたのですが
どれも表示されずじまいでした。
現在ネームサーバーの設定から見直しております。
原因、疑わしい事など発見いたしました追伸させて頂きます。
いつもパソコンおやじ様のサイトをいつも利用させて頂き
真に感謝しております。ありがとうございます。
> 見れないとメールを頂いた方とは現在連絡が取れません。
> ですので真っ白なページのソースはすぐに確認できません。
> しかし、当時やり取りしていた時
> キャッシュの削除,E6,IE7,FireFoxで試して頂いたのですが
> どれも表示されずじまいでした。
>
> 現在ネームサーバーの設定から見直しております。
「この状態は、ネットワークとしての到達性があり、何らかのレスポンスが返ってきている」という表現が悪かったかもしれませんが、真っ白になったということは、サーバとクライアント間でセッションはつながっていますから、DNS関係は全く問題ありません。
問題なのは、繋がってからの通信の中身が不完全だったことであり、そのため表示できずに真っ白になっただけです。従って、通信の中身が問題なのでソースを見てくださいといったのです。
できれば、アクセスする時間を打ち合わせておいて、サーバでパケットキャプチャすれば、比較的簡単に原因はわかると思います。なぜそうなるかは別にして、真っ白になる原因は一目瞭然と思います。
親身に対応して頂きありがとうございます。
中途報告となりますが
見れない方とある掲示板でやり取りし、
症状を伺いました。
どうやら白紙のページになる方と
ページを開いてますの状態から進まない方が居るようです。
ソースを見て欲しいとお願いしたのですが
その方はソースを選択してもなにも起こらないとおっしゃっておりました。
参照先のURLではないのですが
同サーバー内のwikiにアクセスして頂き
httpdログを見ていて気になったのですが
USEN IP - - [22/Sep/2007:22:38:22 +0900] "GET / HTTP/1.1" 200 16081
でログ止ってしまっている様です。
通常でしたら
他IP - - [22/Sep/2007:22:44:07 +0900] "GET / HTTP/1.1" 200 34439
他IP - - [22/Sep/2007:22:44:08 +0900] "GET //skin/pukiwiki_gs2.css.php?charset=Shift_JIS&gs2color= HTTP/1.1" 200 10399
・
・
とログが続いていきます。
パケットキャプチャについては現在取得段階です。
> 中途報告となりますが
> 見れない方とある掲示板でやり取りし、
> 症状を伺いました。
> どうやら白紙のページになる方と
> ページを開いてますの状態から進まない方が居るようです。
>
> ソースを見て欲しいとお願いしたのですが
> その方はソースを選択してもなにも起こらないとおっしゃっておりました。
下記のログと合わせて考えると、転送の途中で止まっている感じがしますね。
もしそうなら、PMTUDブラックホールを疑いたくなるのですが、下記ログを見るとクライアント側がUSENの方(MTU:1500)、がおかしくなっているようなので、MTU長からするとサーバ/クライアントの関係が逆(サーバMTU > クライアントMTUのとき発生)なので、違うようですね。
思い切って、サーバのMTUを小さく(1000とか768とか)してみると、何か見えるかもしれませんが、それよりキャプチャしたほうが早いですね。シーケンスのどこでとまっているかが見えますから?
> 参照先のURLではないのですが
> 同サーバー内のwikiにアクセスして頂き
> httpdログを見ていて気になったのですが
> USEN IP - - [22/Sep/2007:22:38:22 +0900] "GET / HTTP/1.1" 200 16081
> でログ止ってしまっている様です。
> 通常でしたら
> 他IP - - [22/Sep/2007:22:44:07 +0900] "GET / HTTP/1.1" 200 34439
> 他IP - - [22/Sep/2007:22:44:08 +0900] "GET //skin/pukiwiki_gs2.css.php?charset=Shift_JIS&gs2color= HTTP/1.1" 200 10399
> ・
> ・
> とログが続いていきます。
あとは、クライアント側でセキュリティソフトでサイトブロックになっている? なんていうのはないでしょうか?
おやじさまの助言通りキャプチャ取得しようと奮闘していたのですが
mtuを1000まで下げたところ、無事見れるようになった様です。
mtu1000でもページ表示速度など弊害が出ていないようなのでこのまま運営していこうかと思います。
この度は相談に乗っていただき誠にありがとうございまいした。
これかもパソコンおやじ様を参考にいろいろ学びたいと思います。
本当にありがとうございました。
> おやじさまの助言通りキャプチャ取得しようと奮闘していたのですが
> mtuを1000まで下げたところ、無事見れるようになった様です。
> mtu1000でもページ表示速度など弊害が出ていないようなのでこのまま運営していこうかと思います。
確かに1000になっていることを確認しました。これで解決したということは、PMTUDブラックホールということですが、2309さん側は1454であるのは間違いないので、相手の方が何故かUSENなのに1500ではなくは、どこかで1000+αになってしまっているのでしょうね。しかも、MTUが変わるところでチャントICMPを返送していないか遮断されているのだと思います。
恐らく、その方は大手のサイトは大丈夫ですが自宅サーバ関係(例えば、おやじのサイトも)はほとんど見えないのではないでしょうか? 2309さんのサイトだけ見えてもしょうがないので、本当なら相手の方が解決すべき問題と思います。
相手の方のアドレスがわかっているなら、「ping xxx.xxx.xxx.xxx -f -l 1000」というようにpingしてみて、-lの後の数字を少しずつ大きくしていけば、MTUのどこが境目かがわかると思います。