楽天市場のページへのアクセス制限変更点(2020.02.26)【未解決】
起こったこと
2020.02.25の夜あたりから、
楽天市場の商品ページへのプログラムからのアクセスができなくなった。
curlコマンドやphpのfile_get_contentが、503エラーを返す様になった。
調査内容
curlコマンドを用いて、色々と環境を変えたりオプションを変えたりして、
状況を確認。
ユーザーエージェントによる制限?(違った)
スマホのUAだと問題なかったが、スマホサイトだけは特別だったよう。
PCサイトに接続するUAだといくつか試したがどれも変わらず。
IP制限がかけられた?(違った)
IPが同一の社内環境でも、アクセスできないPCとアクセスできるPCがあった。
接続の回数制限?(違った)
一回目のアクセスで繋がらないサーバもあれば、
何回接続しても繋がるサーバもあったので。
アクセスプロトコルが、HTTP/1.1が☓でHTTP/2は◯? (正解!!)
curlコマンドに -vvv
をつけて詳細ログを見てみると、
問題ない環境だと、
Using HTTP2, server supports multi-use
Connection state changed (HTTP/2 confirmed)
という記述があり、問題のある環境だと、
GET /up-t01/it001/ HTTP/1.1
:
HTTP/1.1 503 Service Unavailable
という記述が。。。
こ、これだっ!!!!
hTML/2の通信にしても503エラーになる環境アリ。
対応
HTTP/2のプロトコルが使えるコマンドに変更する。
curlだと、7.43以上。
ただし、nghttpの2 1.0.0以上も必要。
nghttp2ライブラリをインストールするには、
libnghttp2-devが必要なのだが、OSが古いとそもそもこれを入れられない場合があるので注意。
(ubuntu14の私の環境とか。。)
PHPもたぶん5.5.24以上が必要。
curlはインストールしただけだとはdisableなので注意。
./configure
後に
HTTP2: disabled (--with-nghttp2)
となっていたら未だdisableなので要確認。
詳しくは参考サイトを参照ください。
根本原因未だ不明・・
鋭意調査中。。。
後記
そもそもなぜ503エラーになるのか。。。
普通は、まずHTTP/1.1で接続を試みて、対応してる場合はHTTP/2に切り替えるという流れで、
繋がらなくなることは無いみたいなのに。。。
(詳しくはこちら)
参考
Author And Source
この問題について(楽天市場のページへのアクセス制限変更点(2020.02.26)【未解決】), 我々は、より多くの情報をここで見つけました https://qiita.com/tashua314/items/01aa0f7f2cd513befe19著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .