LoginSignup
1
0

More than 1 year has passed since last update.

CloudFront CloudFrontFunctions を使って許可されたIP以外は特定のURL(エラーページ)にリダイレクトさせる

Last updated at Posted at 2022-08-29

問題点

CloudFrontFunctionsを使って、許可されたIP以外からのアクセスがあった場合は、
特定のページにリダイレクトしたい。
という処理は以下のような内容で実装することができました。

解決方法

内容はいたってシンプルで、
elseの中身のstatusCodeを302に設定

headersにリダイレクトしたいURLを設定した変数をセットする
これだけです。

function handler(event) {
    var request = event.request;
    var clientIP = event.viewer.ip;
    var IP_ALLOW_LIST = [
     'XX.XXX.XX.XX',
     'XX.XXX.XX.XX',
    ];
    var isPermittedIp = IP_ALLOW_LIST.includes(clientIP);
    var newurl = `https://qiita.com/`
    if (isPermittedIp) {
    // IP_ALLOW_LISTのIPは正常に処理する
        return request;
    } else {
        // IP_ALLOW_LIST以外のIPはQiitaに飛ばす
        var response = {
            statusCode: 302,
            statusDescription: 'Found',
            headers:
              { "location": { "value": newurl } }
        }
        return response;
    }
}

所感

CloudFrontFunctionsはCFに対して、js処理を手軽に入れることができるため自由度が高く大変便利です。
是非是非皆さんも使ってみてください😊

参考資料

最後に

いいね!いただけると励みになります👍

1
0
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
1
0