視用戶端需求提供原則陳述式,並透過檢查要求是否符合原則,跨來源資源共用 (CORS) 功能可規範用戶端跨來源要求。如有需要,您可以重新設定或停用此功能。
原則包括可接受的一組 HTTP 方法、要求的來源,以及有效的內容類型。這些原則可能因要求 URL 而有所不同,並且可視需要透過將項目新增至 locked.properties 檔案來重新設定。
內容名稱後面的省略符號表示內容可以接受清單。
CORS 內容
| 屬性 | 值類型 | 主要預設值 | 其他預設值 |
|---|---|---|---|
| enableCORS | true false | true | 不適用 |
| 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 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 | * | 不適用 |
| filterHeaders | true false | true | 不適用 |
| checkOrigin | true false | true | 不適用 |
| checkReferer | true false | false | 不適用 |
| allowCredentials | true 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-name | GET,HEAD,POST | dct=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 |
| allowPreflight | true false | true | 不適用 |
| maxAge | cache-time | 0 | 不適用 |
| balancedHost...
附註:自 Horizon 2111.1/2209 起,請改在 Horizon Console 中設定負載平衡器,而非在此處進行設定。 | load-balancer-name | OFF | 不適用 |
| portalHost... | gateway-name | OFF | 不適用 |
| chromeExtension... | chrome-extension-hash | ppkfnjlimknmjoaemnpidmdlfchhehel 附註:此值為 Chrome 版 Horizon Client 的 Chrome 擴充功能識別碼。 | 不適用 |
| iwaBundleId...
附註:此內容適用於 2406 版及更新版本。 | chrome-client-bundle-id | ckg65ilaae42o6wd3uj4xfwznhba7pz2p6kojga5c27hkwq5f66qaaic
附註:此值為 Horizon IWA Client 的 Chrome 服務包識別碼。 | 不適用 |
| blockHtmlAccess 附註:此內容適用於 2212 版及更新版本。 | true false | false | 不適用 |
| blockSwaggerDocs 附註:此內容適用於 2111.2、2212.1、2303 及更新版本。 | true false | false 附註:將此值設為 true 可防止提供 REST API 說明文件。 | 不適用 |
以下是 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。
**附註:**某些瀏覽器不會提供「來源」標頭,或並非每次都會提供。當「來源」標頭不存在時,可以選擇性地檢查要求中的「推薦者」標頭。「推薦者」標頭的標頭名稱中具有一個「r」。若要檢查「推薦者」標頭,請在 locked.properties 檔案中新增以下內容:
checkReferer=true
如果對多個連線伺服器主機執行負載平衡,您必須將 balancedHost 項目新增至 locked.properties 檔案,以指定負載平衡器位址。此位址會採用連接埠 443。
如果用戶端是透過 Unified Access Gateway 應用裝置或其他閘道連線,您必須將 portalHost 項目新增至 locked.properties 檔案,以指定所有閘道位址。這些位址會採用連接埠 443。您也必須指定 portalHost 項目,利用與外部 URL 所指定名稱不同的名稱來提供對連線伺服器主機的存取。
在 Horizon 2312 版及更早版本中,Chrome 擴充功能用戶端會將其初始來源設定為各自的身分識別。若要讓連線成功,請透過將 chromeExtension 項目新增至 locked.properties 檔案,以登錄擴充功能。例如:
chromeExtension.1=bpifadopbphhpkkcfohecfadckmpjmjd
從 Horizon 2406 版開始,Chrome 擴充功能用戶端與隔離的 Web 應用程式會將其初始來源設定為各自的身分識別。若要讓連線成功,請透過將 chromeExtension 或 iwaBundleId 項目新增至 locked.properties 檔案,以登錄擴充功能或服務包。例如:
chromeExtension.1=bpifadopbphhpkkcfohecfadckmpjmjd
iwaBundleId.1=ckg65ilaae42o6wd3uj4xfwznhba7pz2p6kojga5c27hkwq5f66qaaic
另請參閱主機檢查。
此頁面對您有幫助嗎?