2024/4/1 17:00JST頃からトップページにアクセスすると「ERR_TOO_MANY_REDIRECTS」が出るようになりました。トップページ以外は、問題なくアクセスできたので、原因を調べていたところ18:00JST頃に自然復旧しました。
4/2に再発しました。原因の特定までは至っていませんが、Conoha WINGのキャッシュクリアで復旧することがわかりました。
現象
ブラウザでhttps://ksaito.blog/にアクセスするとERR_TOO_MANY_REDIRECTSがでました。
curlでアクセスすると下記の通りで、https://ksaito.blog/にアクセスするとhttps://ksaito.blog/にリダイレクトされる状態でした。
$ curl -I https://ksaito.blog/
HTTP/2 301
server: nginx
date: Mon, 01 Apr 2024 08:57:55 GMT
content-type: text/html; charset=UTF-8
content-length: 0
expires: Mon, 01 Apr 2024 09:03:27 GMT
cache-control: max-age=3600
x-redirect-by: WordPress
location: https://ksaito.blog/
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
x-nginx-cache: HIT
原因調査
原因と思われるのは、下記でした。
- Redirectionプラグインの導入
curlでリダイレクトが確認できたのでクライアント側のキャッシュでないことは断定できました。
取り急ぎ、プラグインを無効化しましたが改善しませんでした。原因は、Conoha WINGのサーバ側のキャッシュがあるためでした。
キャッシュの削除
Conoha WINGの管理画面に接続して、WING – サイト管理 – 高速化 – キャッシュを開きます。コンテンツキャッシュのクリアボタンを押してキャッシュをクリアします。
復旧確認
下記のように301から200になり復旧しました。x-nginx-cacheがMISSに変わっていることでキャッシュがクリアされたことがわかります。
$ curl -I https://ksaito.blog/ HTTP/2 200
server: nginx
date: Tue, 02 Apr 2024 02:23:30 GMT
content-type: text/html; charset=UTF-8
link: <https://ksaito.blog/wp-json/>; rel="https://api.w.org/"
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
x-nginx-cache: MISS
x-nginx-cacheは、EXPIREDで失効すると自然復旧することがあります。
$ curl -I https://ksaito.blog/
HTTP/2 200
server: nginx
date: Tue, 02 Apr 2024 02:35:52 GMT
content-type: text/html; charset=UTF-8
link: <https://ksaito.blog/wp-json/>; rel="https://api.w.org/"
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
x-nginx-cache: EXPIRED
$ curl -I https://ksaito.blog/
HTTP/2 200
server: nginx
date: Tue, 02 Apr 2024 02:35:57 GMT
content-type: text/html; charset=UTF-8
link: <https://ksaito.blog/wp-json/>; rel="https://api.w.org/"
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
x-nginx-cache: HIT
根本原因
何らかの原因でhttps://ksaito.blog/のアクセスがhttps://ksaito.blog/に301リダイレクトされ、そのアクセスがConoha WINGにキャッシされると、キャッシュが失効するまでのあいERR_TOO_MANY_REDIRECTSが発生し、トップページだけアクセスできなくなることが原因でした。
キャッシュに誤ったリダイレクトが書き込まれる原因を調べなくては、、