視用戶端需求提供原則陳述式,並透過檢查要求是否符合原則,跨來源資源共用 (CORS) 功能可規範用戶端跨來源要求。您可以設定此功能並在必要時加以啟用。
原則包括可接受的一組 HTTP 方法、要求的來源,以及有效的內容類型。這些原則可能因要求 URL 而異,並且可視需要透過將項目新增至 locked.properties 檔案來重新設定。
內容名稱後面的省略符號表示內容可以接受清單。
| 內容 | 值類型 | 主要預設值 | 其他預設值 |
|---|---|---|---|
| enableCORS | true false |
false | n/a |
| acceptContentType... | http-content-type | application/x-www-form-urlencoded,application/xml,text/xml | admin=application/x-amf newadmin=application/json,application/text,application/x-www-form-urlencoded portal=application/json sso-redirect=application/x-amf view-vlsi-rest=application/json rest=application/json |
| acceptHeader... | http-header-name | * | n/a |
| 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 misc=true newadmin=true portal=true rest=true saml=true sso-redirect =true tunnel=true view-vlsi=true view-vlsi-rest=true |
| allowMethod... | http-method-name | GET,HEAD,POST | misc=GET,HEAD rest=GET,POST,PATCH,DELETE saml=GET,HEAD sso-redirect=GET,HEAD |
| 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
備註: 此值為 Chrome 版
Horizon Client的 Chrome 擴充功能識別碼。
|
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
如果對多個連線伺服器主機或安全伺服器執行負載平衡,您必須將 balancedHost項目新增到 locked.properties 檔案,以指定負載平衡器位址。此位址會採用連接埠 443。
如果用戶端透過 Unified Access Gateway應用裝置或另一個閘道連線,您必須將 portalHost 項目新增至 locked.properties 檔案來指定所有閘道位址。這些位址會採用連接埠 443。您也必須指定 portalHost項目,利用與外部 URL 所指定名稱不同的名稱來提供對連線伺服器主機或安全伺服器的存取。
Chrome 擴充功能用戶端會將其初始來源設定為其本身的身分識別。若要讓連線成功,請透過將 chromeExtension項目新增至 locked.properties 檔案來登錄擴充功能。例如:
chromeExtension.1=bpifadopbphhpkkcfohecfadckmpjmjd