NestJS APIのレスポンスからx-powered-by: Expressヘッダーを削除する方法

NestJSでx-powered-by: Express
ヘッダーを削除する方法は、セキュリティと情報漏洩の観点から非常に重要です。
デフォルトではNestJSは内部的にExpressを使用しており、そのためレスポンスヘッダーにx-powered-by: Express
が付与されます。このヘッダーは攻撃者に使用しているフレームワークの情報を与えてしまうため、非表示にするのが望ましいです。
x-powered-by
ヘッダーの無効化手順
NestJSでこのヘッダーを削除する方法はとてもシンプルです。
ts// main.ts
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { NestExpressApplication } from '@nestjs/platform-express';
async function bootstrap() {
const app = await NestFactory.create<NestExpressApplication>(AppModule);
// ExpressのX-Powered-Byヘッダーを削除
app.disable('x-powered-by');
await app.listen(3000);
}
bootstrap();
この一行を追加するだけで、すべてのレスポンスからx-powered-by
が削除されます。(NestFactory.createは必要です。 )
コード | 説明 |
---|---|
app.disable(...) | 内部で使っているExpressの設定を無効化 |
'x-powered-by' | 対象となるレスポンスヘッダーのキー |
補足:Fastifyを使用している場合
NestJSではExpressの代わりにFastifyを使うことも可能です。その場合はFastifyのオプションでヘッダーを無効化します。
tsconst app = await NestFactory.create<NestFastifyApplication>(
AppModule,
new FastifyAdapter({ logger: true })
);
app.getHttpAdapter().getInstance().removeHeader('x-powered-by');
まとめ
NestJSでセキュアなAPIを提供するには、不要な情報を外部に出さないことが第一歩です。
x-powered-by: Express
ヘッダーを削除する設定はたった一行で完了し、セキュリティ向上に直結します。
プロジェクトの初期段階で対応しておくと安心です。
- article
NestJS Decorator 速見表:Controller/Param/Custom Decorator の定型パターン
- article
NestJS 最短セットアップ:Fastify + TypeScript + ESLint + Prettier を 10 分で
- article
NestJS × ExpressAdapter vs FastifyAdapter:レイテンシ/スループットを実測比較
- article
NestJS 依存循環(circular dependency)を断ち切る:ModuleRef と forwardRef の実戦対処
- article
NestJS アーキテクチャ超図解:DI コンテナ/プロバイダ/メタデータを一気に把握
- article
NestJS と GraphQL を組み合わせた型安全な API 開発
- article
Vitest `vi` API 技術チートシート:`mock` / `fn` / `spyOn` / `advanceTimersByTime` 一覧
- article
Pinia ストア分割テンプレ集:domain/ui/session の三層パターン
- article
Obsidian Markdown 拡張チートシート:Callout/埋め込み/内部リンク完全網羅
- article
Micro Frontends 設計:`vite-plugin-federation` で分割可能な UI を構築
- article
TypeScript 公開 API の型設計術:`export type`/`interface`/`class`の責務分担と境界設計
- article
Nuxt nuxi コマンド速見表:プロジェクト作成からモジュール公開まで
- blog
iPhone 17シリーズの発表!全モデルiPhone 16から進化したポイントを見やすく整理
- blog
Googleストアから訂正案内!Pixel 10ポイント有効期限「1年」表示は誤りだった
- blog
【2025年8月】Googleストア「ストアポイント」は1年表記はミス?2年ルールとの整合性を検証
- blog
Googleストアの注文キャンセルはなぜ起きる?Pixel 10購入前に知るべき注意点
- blog
Pixcel 10シリーズの発表!全モデル Pixcel 9 から進化したポイントを見やすく整理
- blog
フロントエンドエンジニアの成長戦略:コーチングで最速スキルアップする方法
- review
今の自分に満足していますか?『持たざる者の逆襲 まだ何者でもない君へ』溝口勇児
- review
ついに語られた業界の裏側!『フジテレビの正体』堀江貴文が描くテレビ局の本当の姿
- review
愛する勇気を持てば人生が変わる!『幸せになる勇気』岸見一郎・古賀史健のアドラー実践編で真の幸福を手に入れる
- review
週末を変えれば年収も変わる!『世界の一流は「休日」に何をしているのか』越川慎司の一流週末メソッド
- review
新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
- review
科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来