2011年2月20日

[PHP-users 35492]ファイルダウンロードの不具合について

お世話になっております。

PHP5で実装したファイルダウンロードプログラムで不具合が発生しました。

DMZに配置されているWebサーバに対して、LAN側より外部Proxy経由でアクセスし、
ダウンロードを試みたところ不具合が発生しました。
LAN側にある2台のクライアントよりダウンロードを行いましたが、1台目のクライアント
がダウンロード中の状態で、2台目のクライアントでダウンロードを開始すると、1台目

のダウンロードが途中で止まってしまう現象が発生しました。


PHPプログラムは、SSLアクセス(https://xxx.xxx.xxx.xxx/xxxxx)により動かしています。
PHPプログラム側で出力しているログから、以下のことが分かっています。
・LAN側からアクセスした場合は、すべてのクライアントのIPアドレスが、同じIPアドレス
 に変換されている。(NAT変換されていると思われます。)
・セッションIDは、クライアントごとに違う。(セッションIDの変換はされていない。)

なお、Webサーバは自社にて、指定されているIPアドレスにて構築しましたが、ルータ、
ファイアウォールなどのネットワーク機器、LAN内のPCなど、その他のことについては、
一切タッチしておらず具体的なことは分かっていません。

何が原因で、上記のような現象となっているのか、ご教示いただきたく書き込みをさせて
いただきました。
(PHPとは関係ないことが原因かもしれませんが。。。)

WAN側から2台のクライアントよりダウンロードを行った場合は、上記のような現象は発生
せず、2台とも正常にダウンロードできます。
なお、WAN側からダウンロードを行った場合は、Proxyは使用していません。


よろしくお願いいたします。

【Webサーバ】
OS:CentOS 5.5
Apache:2.2.16
PHP:5.2.14

【PHPダウンロードプログラム】
header("Cache-Control: public");
header("Pragma: public");
header("Content-Disposition: attachment; filename=\"". mb_convert_encoding( basename($path_file),"SJIS-win","UTF-8")."\"");
header("Content-Length: ".$content_length);
header("Content-Type: application/octet-stream");
if (!readfile($path_file)) {
die("Cannot read the file(".$path_file.")");
}
_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2011年2月20日 13:57
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/102122
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。