ちょっと話題の記事

ALBのHTTPヘッダールーティングを使ってIE11でアクセスできないサイトを作ってみた

2019.03.28

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

数年前。。 「標準ブラウザはIEXXとします.IE以外のブラウザでアクセスした場合はエラーページを表示します」 「了解した」

そんな会話があったかはわかりませんが、IEでしか(正しく)表示できないサイトは現在でも多数存在します。ですが、以下の記事にもあるように、2019年現在、IEの利用は推奨されていません。

そこで今回は、世の中からIEの利用者を減らすべく、IEでアクセスするとMicrosoft Edgeのダウンロードページにリダイレクトするようなサイトを作ってみました。

ALBの新機能「HTTPヘッダールーティング」を使って実現するので、アプリケーション側での考慮は不要です!!それではやってみましょう!!

やってみた

※ALBにEC2(Nginxを起動)が紐付いている状態からスタートします。

まずはChromeでアクセスしてみましょう。

正しく表示されます。次にIEでもアクセスしてみましょう。

まだ何も実施していないので、正しく表示さていますね。

ではここからIE11でアクセスした場合、Microsoft Edgeのダウンロードページにリダイレクトするような設定を入れていきます。

ルールの追加

対象のロードバランサの「ルールの表示/編集」をクリックします。

IE11の判定条件『HTTPヘッダーUser-Agent*Trident/7.0; rv:11.0*』を入力します。 また、リダイレクト先の条件も指定のサイトとなるように入力し、右上の「保存」をクリックします。

これで設定完了です。非常に簡単ですね。

では、IE11からアクセスしてみましょう!

正しくリダイレクトされました!!もちろんChromeでは正規のサイトが表示されます!!

まとめ

HTTPヘッダールーティングで利用できるブラウザを制限してみました。少しネタっぽくなりましたが、HTTPヘッダールーティングはかなり多くの場面で利用できると思います。みなさんもぜひ利用してみてください。

参考

[新機能] HTTPヘッダーやクエリ文字列などなどでルーティングができちゃう!!AWS ALBで高度なリクエストルーティングが可能になりました!