質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

2回答

901閲覧

HTTP通信だとシンプルなPHPファイルの表示にとても時間がかかる

qwe001

総合スコア133

HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

2クリップ

投稿2020/09/01 02:58

編集2020/09/01 03:16

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)の通信で、極力現状通りの文字列を出力する必要があります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hihijiji

2020/09/01 03:34

普通に考えて貴社の社内のネットワーク環境の問題です。 可能性として高そうなのは 1.セキュリティ対策環境 2.管理監視環境 でしょうか?
Daregada

2020/09/01 03:51

改行が入力される(あるいはタイムアウトする)まで文字列を待ってから、何らかの処理(監視とか)を行なう、なんてのがありそう。
guest

回答2

0

自己解決

原因がわかってませんが、とりあえず解決ということになったので自己解決とします。

社内で相談したところ、一旦、現状通りの仕様で様子を見つつ、
問題があれば終端文字を改行文字にするということになりました。
それが、最も仕様変更による他システムへの影響が少ないと考えられるためです。

相談したことで判明したのですが、この現象は、
どうやらAWS移行前の環境(他社レンタルサーバー)でも再現していたようです。

社内限定での事象であり、一般には発生しないだろうということで
そのまま放置されたみたいです。

もし、原因がわかったら追記します。

まだ回答を受け付けますので、似たような事例があったら教えてください。
よろしくお願い致します。

投稿2020/09/01 03:45

qwe001

総合スコア133

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

chrome以外の他のブラウザでも同じで、クローラでは問題ないということですかね?
プロクシの問題かもしれません

投稿2020/09/01 03:45

yambejp

総合スコア115010

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問