1.6. CORS
CORS (Cross-Origin Resource Sharing) を使用すると、Kafka Bridge HTTP の設定で Kafka クラスターにアクセスするために許可されるメソッドおよび元の URL を指定できます。
Kafka Bridge の CORS 設定例
# ... http.cors.enabled=true http.cors.allowedOrigins=https://strimzi.io http.cors.allowedMethods=GET,POST,PUT,DELETE,OPTIONS,PATCH
CORS では、異なるドメイン上のオリジンソース間での シンプルな リクエストおよび プリフライト リクエストが可能です。
シンプルなリクエストは、GET
、HEAD
、POST
の各メソッドを使った標準的なリクエストに適しています。
プリフライトリクエストは、実際のリクエストが安全に送信できることを確認する最初のチェックとして HTTP OPTIONS リクエストを送信します。確認時に、実際のリクエストが送信されます。プリフライトリクエストは、PUT
やDELETE
など、より高い安全性が求められるメソッドや、非標準のヘッダーを使用するメソッドに適しています。
すべての要求には、HTTP 要求のソースであるヘッダーの origins 値が必要です。
1.6.1. シンプルなリクエスト
たとえば、この単純なリクエストヘッダーは、オリジンを https://strimzi.io
と指定します。
Origin: https://strimzi.io
ヘッダー情報がリクエストに追加されます。
curl -v -X GET HTTP-ADDRESS/bridge-consumer/records \
-H 'Origin: https://strimzi.io'\
-H 'content-type: application/vnd.kafka.v2+json'
Kafka Bridgeからの応答では、Access-Control-Allow-Origin
ヘッダーが返されます。
HTTP/1.1 200 OK
Access-Control-Allow-Origin: * 1
- 1
- アスタリスク(
*
)を返すと、リソースをどのドメインでもアクセスできることが分かります。