AWS ALB+EFS+EC2で構成された環境に、PHPで書かれたプログラムをアップロードしました。
PHPの記述は非常に簡単で、これだけです
<?php echo "done"; ?>
たったこれだけの記述ですが、HTTPで接続すると、
何故か社内からのアクセスのみ表示に1分程度の時間がかかります。
HTTPSだと即時ですし、携帯のLTE回線だとHTTPでも即時に表示されます
(あと、自宅のネット回線でも即時に表示されます)
curlで確認すると、HTTPでも即時に表示されます
user:~/environment $ curl -v http://www.example.com/test.php * Trying ***.***.***.***... * TCP_NODELAY set * Connected to www.example.com (***.***.***.***) port 80 (#0) > GET /test.php HTTP/1.1 > Host: www.example.com > User-Agent: curl/7.61.1 > Accept: */* > < HTTP/1.1 200 OK < Server: nginx < Date: Tue, 01 Sep 2020 02:42:24 GMT < Content-Type: text/plain;charset=UTF-8 < Content-Length: 4 < Connection: keep-alive < Set-Cookie: AWSALB=HOb******vDv; Expires=Tue, 08 Sep 2020 02:42:24 GMT; Path=/ < Set-Cookie: AWSALBCORS=HOb******Dv; Expires=Tue, 08 Sep 2020 02:42:24 GMT; Path=/; SameSite=None < X-Frame-Options: SAMEORIGIN < X-XSS-Protection: 1; mode=block < X-Content-Type-Options: nosniff < * Connection #0 to host www.example.com left intact done
Google Chromeなどのブラウザで開く、あるいは、
PostmanでGETまたはPOST通信すると、
毎回1分10秒程度の時間がかかります。
不思議なことに、終端文字が改行文字または半角英字「以外」の時は、
HTTP通信でも即時に表示されます。
<?php echo "done\n"; ?> <?php echo "done1"; ?> <?php echo "donex"; ?> <?php echo 1; ?> <?php echo "1"; ?> <?php echo "111111"; ?> <?php echo time(); ?> <?php exit; ?> <?php exit("done\n"); ?>
一体どういうことなんでしょう…
とりあえず、終端文字を改行文字か半角英字以外にしとけば動きますので、
それでヨシでも私は構いませんが…
似たような事象に遭遇した方、解決した方はいませんか?
本環境はHTTP/2プロトコルに対応しておりますが、
事情があって、HTTPSを使用することはできません。
HTTP(HTTP/1.1)の通信で、極力現状通りの文字列を出力する必要があります。
回答2件
あなたの回答
tips
プレビュー