#author("2018-08-26T12:26:37+09:00","","")

#author("2018-08-26T12:27:35+09:00","","")

[[CentOS7]]

*nginx Chromeで意図しないリダイレクトが起きた場合の対処 [#ja215031]

**起きた現象 [#neb3d293]
''Chrome''でメンテナンス画面表示のテストを行っていたところ、下記の現象が発生した。

+メンテナンスモードに切り替える
+該当URLにアクセスしてメンテナンス画面をリダイレクト表示
+メンテナンスモードを解除
+該当URLにアクセスすると、メンテナンスモード解除済みであるにも関わらず、なぜかメンテナンス画面にリダイレクトされてしまう


**原因 [#he50a86c]
''nginx''の設定では、メンテナンス画面の表示に''301''リダイレクトを用いたが、''Chrome''は''301''リダイレクトのキャッシュを保持する仕様のため、キャッシュを読み取りメンテナンス画面にアクセスしてしまう動作になっていた。

''nginx''の設定では、メンテナンス画面の表示に''301''リダイレクトを用いたが、&color(red){''Chrome''は''301''リダイレクトのキャッシュを保持する仕様};のため、キャッシュを読み取りメンテナンス画面にアクセスしてしまう動作になっていた。



**リダイレクトキャッシュの削除方法 [#zc6e6ce1]
+''Chrome''の「その他ツール」→「デベロッパーツール」を開き、「''Network''」タブの「''Disable cache''」をチェックする
+該当の''URL''にアクセスする(リダイレクトされず正しく表示される)
+''Chrome''の「デベロッパーツール」を開き、「''Network''」タブの「''Disable cache''」のチェックをはずす(はずしておかないとキャッシュ動作が一般ユーザー同等じゃなくなる)


**補足 [#g34b3223]
-''Chrome''以外はリダイレクトキャッシュしていないようなので、この現象は起きない
-メンテナンス画面表示にはリダイレクトを用いずに''503''エラーを返しつつメンテナンス画面表示をするのがベターなようなので、そうしたほうがいいと思います(ページが移動したというわけではないので、リダイレクトは不適切だった)

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS