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など、その他のことについては、一切タッチしておらず具体的なことは分かっていません。
何が原因で、上記のような現象となっているのか、ご教示いただきたく書き込みをさせていただきました。
(Linuxとは関係ないことが原因かもしれませんが。。。)
WAN側から2台のクライアントよりダウンロードを行った場合は、上記のような現象は発生せず、2台とも正常にダウンロードできます。
なお、WAN側からダウンロードを行った場合は、Proxyは使用していません。
よろしくお願いいたします。
【Webサーバ】
OS:CentOS 5.5
Apache:2.2.16
PHP:5.2.14
【PHPダウンロードプログラム】
ファイルをバイナリ読み込みし、クライアントへ出力
_______________________________________________
linux-users mailing list
linux...@listserv.linux.or.jp
http://listserv.linux.or.jp/mailman/listinfo/linux-users
> ・LAN側からアクセスした場合は、すべてのクライアントのIPアドレスが、同じIPアドレスに変換されている。
> (NAT変換されていると思われます。)
今回の場合は、Proxy経由なのでNATのせいではなくアクセス元がProxyのIPアド
レスってことでしょう。
・LAN→外部Proxy→DMZサーバ―
・外部→DMZサーバー
という2つのアクセス経路でも、DMZサーバーから見れば「外部端末からのアクセ
ス」には変わりはないので、Proxyサーバー側に原因があるのかなと思われます。
(PHP側でProxyアクセスかどうかを意識しているなら別ですが)
ちなみに、DLするファイルはPHPがバイナリ書き出ししているとの事ですが、静
的に設置されたファイルをDLした場合はどうなんでしょうか?
------------------------------------------------------------
Nish - Hideo Nishita - / nis...@jomon.ne.jp