オリジンからのHTTPヘッダー情報をLambda@Edgeで削除してみた
こんにちは、オリジンからのレスポンスで削除した情報があったので
今回の記事ではオリジンからのHTTPレスポンスで追加されるヘッダー削除してみました。
試した環境
CloudFrontとEC2が紐づいており、レスポンスの中に削除したいヘッダーが含まれている状況
HTTP/2 200
content-type: text/html
content-length: 26
server: nginx/1.28.0
date: Thu, 31 Jul 2025 15:04:46 GMT
last-modified: Thu, 31 Jul 2025 02:13:30 GMT
accept-ranges: bytes
etag: "688ad14a-1a"
set-cookie: testcookie=abc123; Path=/
cache-control: private, max-age=0
x-cache: Miss from cloudfront
via: 1.1 386f14ac9de363c565d435be2317d28c.cloudfront.net (CloudFront)
x-amz-cf-pop: NRT57-P9
x-amz-cf-id: ZwHeD4DcQ6BACl96Eqsu_rQCnEkAuW9fXFjCF9G_mPx-Hhkh4W0clg==
レスポンスからいただいてる情報はこちらになります。
このレスポンスの中からSet-CookieとCache-Controlを削除していきたいと思います。
Lambda@Edgeの作成
まず、関数を実行するためのロールを作成いたします。
信頼関係も確認します。 ちゃんと設定されていることを確認しました。
関数を作成する時のロールをアタッチします。
// index.js
exports.handler = (event, context, callback) => {
console.log(event);
const response = event.Records[0].cf.response;
console.log(event.Records[0]);
const headers = response.headers;
console.log(headers);
if ('set-cookie' in headers) {
delete headers['set-cookie'];
}
if ('cache-control' in headers && headers['cache-control'][0].value.includes("private")) {
delete headers['cache-control'];
}
callback(null, response);
};
作成した関数を新しいバージョンとして発行いたします。
対処のCloudFrontに関連付け設定します。
関連付け関数の確認
確認
HTTP/2 200
content-type: text/html
content-length: 26
server: nginx/1.28.0
date: Thu, 31 Jul 2025 05:40:34 GMT
last-modified: Thu, 31 Jul 2025 02:13:30 GMT
accept-ranges: bytes
etag: "688ad14a-1a"
x-cache: Hit from cloudfront
via: 1.1 d2104da91378e8b035256e7a8c6c9186.cloudfront.net (CloudFront)
x-amz-cf-pop: NRT57-P9
x-amz-cf-id: vLi1Ou3CBdOWlpOiTBT85WtIn877rXu8wChIQed4betJ77GWve06Eg==
age: 12788
Set-CookieとCache-Controlがちゃんと削除されていることが確認できました。
まとめ
オリジンからのHTTPヘッダー情報をLambda@Edgeで削除できることを確認いたしました。
もし削除したい情報がある方はお試しください
アノテーション株式会社について
アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイト をぜひご覧ください