GitHub Pagesツール

無料 Reporting APIヘッダージェネレーター

ブラウザレポート、CSP違反、Network Error Logging用のReport-ToおよびReporting-Endpoints HTTPヘッダーを生成します。

ツールを読み込み中...

Reporting APIヘッダージェネレーターとは

Reporting APIは、CSP違反、Network Error Loggingイベント、非推奨警告、ブラウザ介入、クラッシュレポートなど、さまざまな問題に関するレポートを収集し、設定可能なエンドポイントに送信するブラウザAPIです。HTTPヘッダー(Report-ToまたはReporting-Endpoints)を使用して、ブラウザにレポートの送信先を指示します。Reporting-Endpointsヘッダーは新しい標準で、従来のReport-Toヘッダーを置き換えます。ブラウザはレポートをバッチ処理し、ネットワークオーバーヘッドを最小化するために定期的に送信します。

クイックアンサー

NginxおよびApache用のReport-ToおよびReporting-Endpoints HTTPヘッダーを生成します。従来のReport-Toと新しいReporting-Endpoints構文を選択できます。オプションでCSP report-uri/report-toディレクティブとNetwork Error Logging(NEL)ヘッダーを設定します。Reporting API(Chrome 69+、Safari 16.4+、Edge 79+)は、CSP違反、NELイベント、非推奨警告、ブラウザ介入、クラッシュレポートを中央エンドポイントで収集します。

Last updated: 2026-05-31

制限事項

  • Reporting-Endpointsヘッダーのサポートはブラウザによって異なります。Chromeはバージョン69+、Safariは16.4+、Edgeは79+からサポートしています。FirefoxのReporting-Endpointsサポートは限定的です。より広いブラウザ互換性には、従来のReport-Toヘッダーが引き続き必要です。
  • レポートの配信は保証されていません。ブラウザはレポートをバッチ処理し、独自のスケジュールで送信します。バッチが送信される前にユーザーがタブを閉じると、レポートが失われる可能性があります。重要な監視をReporting APIに依存せず、サーバーサイドログと併せて補助データソースとして使用してください。
  • レポートエンドポイントはHTTPS経由でアクセス可能である必要があります。ブラウザはHTTPSで提供されるサイトからのHTTPエンドポイントへのレポート送信を拒否します。カスタムレポートコレクターを使用するGitHub Pagesサイトは、コレクターが有効なTLS証明書を持っていることを確認する必要があります。

Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub

使い方

  1. ヘッダーバージョンを選択します。広い互換性には従来のReport-To、新しい標準にはReporting-Endpoints。Reporting-Endpointsはよりシンプルですが、ブラウザサポートが新しいものです。
  2. サーバータイプ(NginxまたはApache)を選択し、生成されたヘッダー設定をサーバー設定、バーチャルホストブロック、または.htaccessファイルにコピーします。
  3. オプションでCSPレポーティングを有効にし、CSPディレクティブタイプ(report-uri、report-to、または両方)を選択します。生成されたスニペットには適切なCSPレポーティングディレクティブが含まれます。
  4. オプションでNetwork Error Logging(NEL)を、レポートエンドポイントURL、キャッシュ期間、成功/失敗サンプリングレートとともに設定します。

主な用途

  • 中央エンドポイントでCSP違反レポートを収集し、正当なコンテンツをブロックせずにContent Security Policyを監視および微調整します。
  • Network Error Loggingレポートを監視して、実際のユーザーが経験するネットワーク障害、DNS問題、TLSエラー、接続問題を検出および診断します。
  • ブラウザがサポートを削除する前に更新が必要なサイト上の機能を特定するために、非推奨警告とブラウザ介入レポートを受信します。

用途

使用例

CSP監視を行うGitHub Pagesサイト

GitHub Pagesサイトが厳格なContent Security Policyを設定し、違反レポートを受信したいと考えています。CSP-endpointを持つReporting-Endpointsヘッダーを設定し、report-to: CSP-endpointを含むContent-Security-Policyを追加し、アセット読み込みに影響するネットワーク問題を検出するためにNELを有効にします。レポートは、ログ記録と集約を行う小規模なサーバーエンドポイントにPOST送信されます。

完全なレポーティングスイートを備えたNginxリバースプロキシ

Node.jsアプリの前段にある本番Nginxリバースプロキシが、Reporting-EndpointsとContent-Security-Policy-Report-Onlyの両方のヘッダーを設定します。CSP違反、NELイベント、非推奨警告がすべて単一のレポートエンドポイント/_reportsにPOST送信されます。NELはmax_age 86400と0.1の障害サンプリングレートで設定され、エンドポイントを圧迫せずに代表的なネットワークエラーデータを収集します。

よくあるミス

  • Report-ToとReporting-Endpointsヘッダーを同時に使用する。両方のヘッダーが存在すると、ブラウザが重複レポートを送信する可能性があります。Reporting-Endpointsを設定してテストした後、古いヘッダーを削除してReport-ToからReporting-Endpointsに移行してください。
  • 対応するレポートエンドポイントなしでCSP report-uriを設定する。report-uriはGETリクエストを介して任意のURLにレポートを送信しますが、大きな違反レポートの場合、URL長制限を超える可能性があります。常にreport-uriまたはreport-toを、POSTリクエストを処理できる適切に設定された受信エンドポイントと組み合わせてください。
  • レポートエンドポイントでCORSを設定し忘れる。レポートはヘッダーが提供されるオリジンから送信されますが、レポートエンドポイントが異なるオリジンにある場合、クロスオリジンPOSTリクエストを受け入れる必要があります。これは、外部レポートコレクターを使用するGitHub Pagesでホストされているサイトにとって特に重要です。

検証

  1. ヘッダーをサーバーにデプロイし、curl -IまたはブラウザDevToolsのNetworkパネルを使用して存在を確認します。HTMLページのレスポンスヘッダーにReporting-Endpoints(またはReport-To)が表示されることを確認します。
  2. CSPで保護されたページでインラインスクリプトをロードしてCSP違反をトリガーし、レポートエンドポイントで受信した違反レポートを確認します。レポートには、ブロックされたURI、違反したディレクティブ、行番号付きのソースファイルが含まれている必要があります。

FAQ

Reporting APIヘッダージェネレーターのFAQ

Report-ToとReporting-Endpointsヘッダーの違いは何ですか?

Report-Toは従来のヘッダー形式で、エンドポイントグループと優先順位を持つJSON設定を使用します。Reporting-Endpointsは新しいよりシンプルな形式で、エンドポイント名をコンマ区切りのリストでURLに直接マッピングします。Reporting-Endpointsはヘッダーの複雑さを軽減するため、新しいデプロイメントでは推奨されます。Chromeは両方をサポートし、SafariとFirefoxはReporting-Endpointsをサポートしています。最大限の互換性のために、移行中に両方を含めるサイトもありますが、重複レポート配信が発生する可能性があります。

Network Error Logging(NEL)はReporting APIとどのように連携しますか?

NELは、レポートエンドポイントグループ、ポリシーのmax_age、オプションのサンプリングレートを指定するNEL HTTPヘッダーを介して設定されます。ブラウザがネットワークリクエストを試みてエラー(DNS障害、TLSエラー、タイムアウトなど)に遭遇すると、NELレポートを生成し、設定されたレポートエンドポイントに送信します。ブラウザはNELヘッダーを提供したオリジンに対してのみレポートを生成します。NELはサーバーサイドの計装を必要としません。レポートはブラウザのネットワークスタックから直接送信されます。

Reporting APIはどのような種類のレポートを収集できますか?

Reporting APIは、CSP違反レポート(リソースがContent Security Policyに違反した場合)、Network Error Loggingレポート(DNS障害、TCPタイムアウト、TLSエラーなどのネットワークエラー)、非推奨レポート(サイトが非推奨のブラウザAPIを使用している場合)、介入レポート(ブラウザがサイトの動作をブロックまたは変更した場合)、クラッシュレポート(ページがクラッシュした場合)を収集できます。各レポートタイプは独自のHTTPヘッダーまたはメタタグを介して設定されますが、すべて同じレポートエンドポイントに送信できます。

関連ツール

その他のgithub pagesツール

こちらもお試しください

こちらもお試しください