ファイアウォールの設定にて
アウトバウンドもインバウンドも80番と443番しか許可されていないサーバがあり
条件として
・ファイアウォールの設定をいじることは出来ません
PHPから
$response = exec("curl --connect-timeout 30 --max-time 60 -i -H 'いろいろなクッキー' http://XXXXX.com:80/",$err);
を打ったところ延々返事が返ってこず
$response = exec("curl --connect-timeout 30 --max-time 60 -i -H 'aaa=aaa' http://XXXXX.com:80/",$err);
とシンプルなクッキーに変更したところ返事が来まして
「REMOTE_PORT」のところに「44003」と出ていました
string(36) " [SERVER_ADDR] => XXX.XXX.XXX.XXX" string(23) " [SERVER_PORT] => 80" string(36) " [REMOTE_ADDR] => XXX.XXX.XXX.XXX" string(26) " [REMOTE_PORT] => 44003"
なぜクッキーをシンプルにしたら返事が来るのかわかりませんが、それは一旦置いておいて(返却のバイト数とかで閾値区切ってるのかも?)
返事が来ないのは「REMOTE_PORT」が「44003」なのが原因と思われるのですが、以下二点お教えくださいませ
・「REMOTE_PORT」はネットで調べると「最終的なリモート(接続先)のポート番号」と出ているのですが、これは「http://XXXXX.com」のことだと思いますが、80番でリクエストを投げたのに、http://XXXXX.comから44003番で返答が帰ってきたということなのでしょうか?
・「REMOTE_PORT」を「80」にする方法をご存知のかたcurl(クライアント側)または(ホスト側)をお教えくださいませ。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/23 08:56