クロスオリジンリソース共有
クロスオリジンリソース共有 (CORS) は、HTTPヘッダーベースのメカニズムで、ブラウザがリソースの読み込みを許可すべきオリジンを、サーバーが自分以外のオリジンに示すことを可能にします。
これらのオリジンは1つのドメイン、スキーム、ポートで構成されています。 完全なオリジンの定義については、 ウェブオリジンのコンセプト のページを参照してください。
CORS フィルター
Quarkusには、 jakarta.servlet.Filter
インタフェースを実装し、すべての受信HTTPリクエストをインターセプトするCORSフィルタがあります。
Quarkusの設定ファイル src/main/resources/application.properties
で有効にできます:
quarkus.http.cors=true
フィルタが有効で、HTTPリクエストがクロスオリジンであると識別されると、CORSポリシーが適用されます。 また、サーブレット、Jakarta REST リソース、または他のエンドポイントのような意図された宛先にリクエストを転送する前に、以下のプロパティで構成されたヘッダを追加します。
ビルド時に固定される設定プロパティ - その他の設定プロパティは実行時にオーバーライド可能です。
Configuration property |
タイプ |
デフォルト |
---|---|---|
Origins allowed for CORS Comma separated list of valid URLs, e.g.: http://www.quarkus.io,http://localhost:3000 In case an entry of the list is surrounded by forward slashes, it is interpreted as a regular expression. Environment variable: Show more |
list of string |
|
HTTP methods allowed for CORS Comma separated list of valid methods. ex: GET,PUT,POST The filter allows any method if this is not set. default: returns any requested method as valid Environment variable: Show more |
list of string |
|
HTTP headers allowed for CORS Comma separated list of valid headers. ex: X-Custom,Content-Disposition The filter allows any header if this is not set. default: returns any requested header as valid Environment variable: Show more |
list of string |
|
HTTP headers exposed in CORS Comma separated list of valid headers. ex: X-Custom,Content-Disposition default: empty Environment variable: Show more |
list of string |
|
The Environment variable: Show more |
||
The Environment variable: Show more |
ブーリアン |
期間フォーマットについて
To write duration values, use the standard 数字で始まる簡略化した書式を使うこともできます:
その他の場合は、簡略化されたフォーマットが解析のために
|
-
許可されたオリジンを定義す る 正規表現を含む完全な CORS フ ィ ル タ ー設定の例
quarkus.http.cors=true quarkus.http.cors.origins=http://foo.com,http://www.bar.io,/https://([a-z0-9\\-_]+)\\\\.app\\\\.mydomain\\\\.com/ quarkus.http.cors.methods=GET,PUT,POST quarkus.http.cors.headers=X-Custom quarkus.http.cors.exposed-headers=Content-Disposition quarkus.http.cors.access-control-max-age=24H quarkus.http.cors.access-control-allow-credentials=true
/https://([a-z0-9\\-_]+)\\\\.app\\\\.mydomain\\\\.com/
はスラッシュで囲まれているため、正規表現として扱われます。
|