クロスオリジン リソース共有 (CORS) 機能は、ポリシー ステートメントをオンデマンドでクライアントに提供し、リクエストがポリシーに準拠しているかどうか確認することで、クライアント側のクロスオリジン リクエストを制限します。この機能は、必要なときに構成し、有効にできます。
ポリシーには、許可される HTTP メソッドのセット、リクエストの送信元、有効なコンテンツ タイプが記述されています。これらはリクエスト URL によって異なり、locked.properties ファイルにエントリを追加することで必要に応じて再設定できます。
プロパティ名の後の省略記号は、プロパティでリストを使用できることを示します。
プロパティ | 値の種類 | マスター デフォルト | 他のデフォルト値 |
---|---|---|---|
enableCORS | true false |
true | n/a |
acceptContentType... | http-content-type | application/x-www-form-urlencoded,application/xml,text/xml | admin=application/json,application/text,application/x-www-form-urlencoded portal=application/json rest=application/json sse=application/json view-vlsi-rest=application/json |
acceptHeader... | http-header-name | * | admin=Accept,Accept-Encoding,Accept-Charset,Accept-Language,Authorization,Cache-Control,Connection,Content-Language,Content-Length,Content-Type,Cookie,csrftoken,DNT,Host,Origin,Referer,User-Agent broker=Accept,Accept-Encoding,Accept-Charset,Accept-Language,Authorization,Connection,Content-Language,Content-Length,Content-Type,Cookie,Gateway-Location,Gateway-Name,Gateway-Type,Host,Origin,Referer,User-Agent,X-CSRF-Token,X-EUC-Gateway,X-EUC-Health,X-Forwarded-For,X-Forwarded-Host,X-Forwarded-Proto portal=Accept,Accept-Encoding,Accept-Charset,Accept-Language,Authorization,Connection,Content-Language,Content-Length,Content-Type,Cookie,Host,Origin,Referer,User-Agent,X-CSRF-Token rest=Accept,Accept-Encoding,Accept-Charset,Accept-Language,Authorization,Connection,Content-Language,Content-Length,Content-Type,Cookie,csrfToken,Host,Origin,Referer,User-Agent,X-Require-Cloud-Admin-Privilege view-vlsi=Accept,Accept-Encoding,Accept-Charset,Accept-Language,Authorization,Connection,Content-Language,Content-Length,Content-Type,Cookie,csrfToken,Host,Origin,Referer,User-Agent,X-Require-Cloud-Admin-Privilege view-vlsi-rest=Accept,Accept-Encoding,Accept-Charset,Accept-Language,Authorization,Connection,Content-Language,Content-Length,Content-Type,Cookie,csrfToken,Host,Origin,Referer,User-Agent,X-Require-Cloud-Admin-Privilege |
exposeHeader... | http-header-name | * | n/a |
filterHeaders | true false |
true | n/a |
checkOrigin | true false |
true | n/a |
checkReferer | true false |
false | n/a |
allowCredentials | true false |
false | admin =true broker=true health=true misc =true portal=true rest=true saml=true sse=true tunnel=true view-vlsi=true view-vlsi-rest=true |
allowMethod... | http-method-name | GET,HEAD,POST | health =GET,HEAD misc =GET,HEAD rest=GET,POST,PUT, PATCH,DELETE saml =GET,HEAD sse=GET,POST tunnel=GET,POST |
allowPreflight | true false |
true | n/a |
maxAge | cache-time | 0 | n/a |
balancedHost | load-balancer-name | OFF | n/a |
portalHost... | gateway-name | OFF | n/a |
chromeExtension... | chrome-extension-hash | ppkfnjlimknmjoaemnpidmdlfchhehel
注: この値は、
Horizon Client for Chrome の Chrome 拡張機能 ID になります。
|
n/a |
locked.properties ファイルを使用して、CORS プロパティの使い方を説明します。
enableCORS = true allowPreflight = true checkOrigin = true checkOrigin-misc = false allowMethod.1 = GET allowMethod.2 = HEAD allowMethod.3 = POST allowMethod-saml.1 = GET allowMethod-saml.2 = HEAD acceptContentType.1 = application/x-www-form-urlencoded acceptContentType.2 = application/xml acceptContentType.3 = text/xml
オリジンの確認
オリジンの確認は、デフォルトで有効になっています。有効な場合、リクエストが受け入れられるのは、オリジンがない場合か、オリジンが外部 URL に指定されたアドレス、balancedHostアドレス、portalHost アドレス、chromeExtension ハッシュ、null またはlocalhost に一致している場合だけです。オリジンがこのいずれかでない場合、「予期しないオリジン」エラーがログに記録され、ステータス 404 が返されます。
checkReferer=true
複数の Connection Server ホストがロード バランシングされている場合、locked.properties ファイルにbalancedHost エントリを追加して、ロード バランサのアドレスを指定する必要があります。このアドレスについては、ポート 443 が前提となります。
Unified Access Gateway アプライアンスまたは別のゲートウェイを介してクライアントが接続する場合、portalHost エントリを locked.properties ファイルに追加し、すべてのゲートウェイ アドレスを指定する必要があります。これらのアドレスについては、ポート 443 が前提となります。外部 URL で指定する名前と異なる名前で Connection Server ホストにアクセスするには、portalHost エントリの指定も必要です。
Chrome 拡張クライアントは、最初のオリジンに独自の ID を設定します。接続を許可するには、locked.properties ファイルに chromeExtension エントリを追加して、拡張機能を登録します。例:
chromeExtension.1=bpifadopbphhpkkcfohecfadckmpjmjd