Skip to main content

2026 年 5 月 28 日

クロスオリジン リソース共有

クロスオリジン リソース共有 (CORS) 機能は、ポリシー ステートメントをオンデマンドでクライアントに提供し、リクエストがポリシーに準拠しているかどうか確認することで、クライアント側のクロスオリジン リクエストを制限します。この機能は、必要に応じて再構成または無効化できます。

ポリシーには、許可される HTTP メソッドのセット、リクエストの送信元、有効なコンテンツ タイプが記述されています。これらはリクエスト URL によって異なり、locked.properties ファイルにエントリを追加することで必要に応じて再設定できます。

プロパティ名の後の省略記号は、プロパティでリストを使用できることを示します。

CORS プロパティ

プロパティ値の種類プライマリのデフォルト値他のデフォルト値
enableCORStrue

false
trueなし
acceptContentType...http-content-typeapplication/x-www-form-urlencoded,application/xml,text/xmladmin=application/json,application/text,application/x-www-form-urlencoded

portal=application/json

rest=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*なし
filterHeaderstrue

false
trueなし
checkOrigintrue

false
trueなし
checkReferertrue

false
falseなし
allowCredentialstrue

false
false(Horizon 2312 以前)admin, broker, health, misc, portal, rest, saml, tunnel, view-vlsi, view-vlsi-rest = true

(Horizon 2406 以降)admin, broker, health, portal, rest, root, saml, tunnel, view-vlsi, view-vlsi-rest, ws1 = true
allowMethod...http-method-nameGET,HEAD,POSTdct=GET

docroot=GET

health=GET,HEAD

misc=GET,HEAD(Horizon 2312 以前)

rest=GET,POST,PUT,PATCH,DELETE

root=GET(Horizon 2406 以降)

saml=GET,HEAD

tunnel=GET,POST
allowPreflighttrue

false
trueなし
maxAgecache-time0なし
balancedHost...

注:Horizon 2111.1/2209 以降では、ここではなく、Horizon Console を使用してロード バランサを設定します。
load-balancer-nameオフなし
portalHost...gateway-nameオフなし
chromeExtension...chrome-extension-hashppkfnjlimknmjoaemnpidmdlfchhehel 注:この値は、Horizon Client for Chrome の Chrome 拡張機能 ID になります。なし
iwaBundleId...

注:このプロパティは、バージョン 2406 以降に適用されます。
chrome-client-bundle-idckg65ilaae42o6wd3uj4xfwznhba7pz2p6kojga5c27hkwq5f66qaaic

注:この値は、Horizon IWA クライアントの Chrome バンドル ID になります。
なし
blockHtmlAccess

注:このプロパティは、バージョン 2212 以降に適用されます。
true

false
falseなし
blockSwaggerDocs

注:このプロパティは、バージョン 2111.2、2212.1、2303 以降に適用されます。
true

false
いいえ

注:REST API ドキュメントが提供されないようにするには、true に設定します。
なし

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 が返されます。

**注:**ブラウザによっては、Origin ヘッダーが提供されません、また、まったく提供されない場合もあります。Origin ヘッダーがない場合は、リクエストの Referer ヘッダーをチェックすることもできます。Referer ヘッダーでは、ヘッダー名に「r」が 1 つ含まれています。Referer ヘッダーを確認するには、locked.properties ファイルに次のプロパティを追加します。

checkReferer=true

複数の Connection Server ホストがロード バランシングされている場合、locked.properties ファイルに balancedHost エントリを追加して、ロード バランサのアドレスを指定する必要があります。このアドレスについては、ポート 443 が前提となります。

Unified Access Gateway アプライアンスまたは別のゲートウェイを介してクライアントが接続する場合、portalHost エントリを locked.properties ファイルに追加し、すべてのゲートウェイ アドレスを指定する必要があります。これらのアドレスについては、ポート 443 が前提となります。外部 URL で指定する名前と異なる名前で Connection Server ホストにアクセスするには、portalHost エントリの指定も必要です。

Horizon 2312 以前の場合、Chrome 拡張クライアントは最初のオリジンに独自の ID を設定します。接続を許可するには、locked.properties ファイルに chromeExtension エントリを追加して、拡張機能を登録します。例:

chromeExtension.1=bpifadopbphhpkkcfohecfadckmpjmjd 

Horizon 2406 以降の場合、Chrome 拡張クライアントと隔離された Web アプリケーションは最初のオリジンに独自の ID を設定します。接続を許可するには、locked.properties ファイルに chromeExtension または iwaBundleId エントリを追加して、拡張機能またはバンドルを登録します。例:

chromeExtension.1=bpifadopbphhpkkcfohecfadckmpjmjd
iwaBundleId.1=ckg65ilaae42o6wd3uj4xfwznhba7pz2p6kojga5c27hkwq5f66qaaic

ホスト チェック」も参照してください。

このページは役に立ちましたか?

このトピックについてフィードバックを送信

このトピックは役に立ちましたか?

個人情報や機密情報は入力しないでください。

リンクを生成しています…