第1章 Cross-Origin Resource Sharing (CORS)
Quarkus で CORS を有効にして設定し、許可されるオリジン、メソッド、ヘッダーを指定して、ブラウザーがクロスオリジンリクエストを安全に処理できるようにします。
クロスオリジンリソース共有 (CORS) は、HTTP ヘッダーを使用して、外部オリジンからのリソースに対するブラウザーのリクエストを安全に管理します。許可されたオリジン、メソッド、ヘッダーを指定することにより、Quarkus サーバーは CORS フィルターを使用して、制御されたアクセスを維持しながらブラウザーがドメイン間でリソースを要求できるようにすることができます。このメカニズムにより、セキュリティーが強化され、正当なクロスオリジンリクエストがサポートされます。オリジン定義の詳細は、Web オリジンコンセプト を参照してください。
1.1. CORS フィルターを有効にする リンクのコピーリンクがクリップボードにコピーされました!
アプリケーションで CORS ポリシーを適用するには、src/main/resources/application.properties ファイルに次の行を追加して、Quarkus CORS フィルターを有効にします。
quarkus.http.cors.enabled=true
quarkus.http.cors.enabled=true
フィルターは、すべての受信 HTTP リクエストをインターセプトしてクロスオリジンリクエストを識別し、設定されたポリシーを適用します。次に、フィルターは HTTP 応答に CORS ヘッダーを追加し、許可されたオリジンとアクセスパラメーターをブラウザーに通知します。プリフライトリクエストの場合、フィルターは HTTP 応答を直ちに返します。通常の CORS リクエストの場合、リクエストが設定されたポリシーに違反すると、フィルターは HTTP 403 ステータスでアクセスを拒否します。それ以外の場合、ポリシーで許可されていれば、フィルターはリクエストを宛先に転送します。
詳細な設定オプションは、次の設定プロパティーセクションを参照してください。
🔒 ビルド時に固定: 設定プロパティーはビルド時に固定されます。他のすべての設定プロパティーは実行時にオーバーライドできます。
| 設定プロパティー | 型 | デフォルト |
|
CORS に許可されたオリジン。
有効な URL のコンマ区切りリスト (例
環境変数: | list of string | |
|
CORS リクエストに許可される HTTP メソッド。
デフォルト: 任意の HTTP リクエストメソッドが許可されます。
環境変数: | list of string | |
|
CORS リクエストに許可される HTTP ヘッダー。
有効なヘッダーのコンマ区切りリスト (例: デフォルト: 任意の HTTP リクエストヘッダーが許可されます。
環境変数: | list of string | |
|
CORS 応答で公開される HTTP ヘッダー。
公開するヘッダーのコンマ区切りリスト (例: デフォルト: ヘッダーは公開されません。
環境変数: | list of string | |
|
プリフライトリクエストの結果をキャッシュできる期間をブラウザーに通知します。
環境変数: | ||
|
リクエストの認証情報モード
デフォルト:
環境変数: | boolean |
duration の値を書き込むには、標準の java.time.Duration フォーマットを使用します。詳細は、Duration#parse() Java API ドキュメント を参照してください。
数字で始まる簡略化されたフォーマットも使用できます。
- 値が数値のみの場合は、秒単位の時間を表します。
-
数字の後に
msが続く値は、ミリ秒単位の時間を表します。
その他の場合は、解析のために簡略化されたフォーマットが java.time.Duration フォーマットに変換されます。
-
数字の後に
h、m、またはsが続く値には、接頭辞PTが付きます。 -
数字の後に
dが続く値は、接頭辞Pが付きます。