LoginSignup
7
1

More than 1 year has passed since last update.

ALB リスナールールchromeのキャッシュで更新できなかった話

Posted at

はじめに

学習のためにALBのリスナールールのactionを変更して、pathによって、いろんなwebサイトにリダイレクトさせていました。
そんな時にactionの設定値を変更したのにも関わらず、遷移画面が変わらないという沼にハマりました。
結論は単純なものだったのですが、備忘録として残したいと思います。

構成図・前提条件

Image from Gyazo

EC2インスタンスには簡易なwebアプリが動いています。
通常通りにアクセスでき場合はこのようなトップ画面遷移します。
ad11e1baa76e5692e43c8cd099f91d43.png

まずリスナールールを次のように設定しました。
8e687bef573a73657faf149cbaa3e580.png
URLのパスが/のリクエストを送信するとGoogleのページへ遷移させる設定です。
ブラウザにアプリのURLを打ち込んでみます。
Image from Gyazo
このようにGoogleに遷移しました。
ここからさらにリスナールールのactionを変更し、さらに違うwebサイトへ遷移するように設定してみます。

課題

リスナールールのリダイレクト先を変更しました。
0d1ef140d9a1687400a4647a41a23917.png
ブラウザにアプリのURLを打ち込んでみます。
Image from Gyazo
しかし、リダイレクト先は変わりません。
どうしてだ・・・・

仮説

  • リスナールールの設定誤り
    シンプルにリスナールールが誤っており、リダイレクトができていない可能性を考えました。
    でも、その場合でも前の設定にリダイレクトされるのはおかしい・・・

  • ブラウザにキャッシュが残っている
    302は一時的なリダイレクトなのに対し、301は恒久的なリダイレクトなので強くキャッシュが残っているのではないかと思いました。このキャッシュを削除しなければいけないという仮説です。

解決

リスナールールに間違いはなさそうだったのでブラウザのキャッシュを疑いました。
結果としてビンゴで、chromeブラウザのキャッシュによって引き起こされていることがわかりました。
解決する方法は次のとおりです。

  1. デベロッパーツールを開きます。
    デベロッパーツールの開き方はWindowsであれば F12キー、MacOSであればCommand+Option+Iキー。
    右クリックから「検証」をクリックしても開くことができます。

  2. NETWORKを選択します。
    533c2356ed0593ef5de8cff90513c574.png

  3. Disable cacheにチェックをつけます。
    Image from Gyazo

これでchromeのキャッシュが削除されているはずです。
ブラウザに再度ドメインを入力してみましょう。
Image from Gyazo
無事画面が遷移しました。

おわりに

調べてみると301リダイレクトはブラウザにキャッシュされ、302等であればブラウザにキャッシュされないようです。
301リダイレクトでも、ヘッダにおいて

Cache-Control: no-store

を設定すればキャッシュされなくなるようですが、302リダイレクトにすれば事足りるようですね。

参考

7
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
1