La fonctionnalité de partage des ressources cross-origin (CORS) régule les demandes cross-origin côté client en fournissant des déclarations de stratégie au client à la demande et en vérifiant les demandes pour assurer la conformité avec la stratégie. Cette fonctionnalité peut être reconfigurée ou désactivée si nécessaire.
Les stratégies incluent l'ensemble des méthodes HTTP à l'origine des demandes qui peuvent être acceptées, ainsi que les types de contenu valides. Ces stratégies varient en fonction de l'URL de demande et peuvent être reconfigurées selon vos besoins en ajoutant des entrées au fichier locked.properties.
Les points de suspension après un nom de propriété indiquent que la propriété peut accepter une liste.
Propriétés de CORS
| Propriété | Type de valeur | Valeur principale par défaut | Autres valeurs par défaut |
|---|---|---|---|
| enableCORS | true false | true | s/o |
| 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 | * | s/o |
| filterHeaders | true false | true | s/o |
| checkOrigin | true false | true | s/o |
| checkReferer | true false | false | s/o |
| allowCredentials | true false | false | (Horizon 2312 ou version antérieure) admin, broker, health, misc, portal, rest, saml, tunnel, view-vlsi, view-vlsi-rest = true
(Horizon 2406 ou version ultérieure) 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 ou version ultérieure) rest=GET,POST,PUT,PATCH,DELETE root=GET (Horizon 2406 ou version ultérieure) saml=GET,HEAD tunnel=GET,POST |
| allowPreflight | true false | true | s/o |
| maxAge | cache-time | 0 | s/o |
| balancedHost...
Remarque : à partir d'Horizon 2111.1/2209, utilisez Horizon Console pour définir les équilibreurs de charge au lieu de le faire ici. | load-balancer-name | OFF | s/o |
| portalHost... | gateway-name | OFF | s/o |
| chromeExtension... | chrome-extension-hash | ppkfnjlimknmjoaemnpidmdlfchhel Remarque : cette valeur est l'ID d'extension de Chrome pour Horizon Client pour Chrome. | s/o |
| iwaBundleId...
REMARQUE : cette propriété s'applique à la version 2406 ou version ultérieure. | chrome-client-bundle-id | ckg65ilaae42o6wd3uj4xfwznhba7pz2p6kojga5c27hkwq5f66qaaic
Remarque : cette valeur est pour l'ID de bundle Chrome pour Horizon IWA Client. | s/o |
| blockHtmlAccess REMARQUE : cette propriété s'applique à la version 2212 ou version ultérieure. | true false | false | s/o |
| blockSwaggerDocs REMARQUE : cette propriété s'applique aux versions 2111.2, 2212.1, 2303 ou version ultérieure). | true false | false Remarque : définissez cette variable sur true pour empêcher la diffusion de la documentation de REST API. | s/o |
Voici des exemples de propriétés CORS dans le fichier locked.properties.
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
Vérification de l'origine
La vérification de l'origine est activée par défaut. Lorsqu'elle est activée, une demande est acceptée uniquement sans origine, ou avec une origine égale à l'adresse spécifiée par l'URL externe, à n'importe quelle adresse balancedHost, à n'importe quelle adresse portalHost, à n'importe quel hachage chromeExtension, à null ou à localhost. Si l'origine ne correspond à aucune de ces valeurs, l'erreur « Origine inattendue » est journalisée et l'état 404 est renvoyé.
Remarque : certains navigateurs ne fournissent d'en-tête Origine ou n'en fournissent pas toujours un. Éventuellement, l'en-tête Référent dans une demande peut être vérifié en l'absence d'en-tête Origine. L'en-tête Référent comporte un « r » dans le nom d'en-tête. Pour vérifier l'en-tête Référent, ajoutez la propriété suivante au fichier locked.properties :
checkReferer=true
Si plusieurs hôtes du Serveur de connexion sont à équilibrage de charge, vous devez spécifier l'adresse de l'équilibreur de charge en ajoutant une entrée balancedHost au fichier locked.properties. Le port 443 est utilisé pour cette adresse.
Si les clients se connectent via un dispositif Unified Access Gateway, ou une autre passerelle, vous devez spécifier toutes les adresses de passerelle en ajoutant des entrées portalHost au fichier locked.properties. Le port 443 est utilisé pour ces adresses. Vous devez également spécifier des entrées portalHost pour fournir l'accès à un hôte du Serveur de connexion par le biais d'un nom différent de celui spécifié par l'URL externe.
Pour Horizon 2312 ou version antérieure, les clients d'extension Chrome définissent leur origine initiale sur leur propre identité. Pour que les connexions aboutissent, enregistrez l'extension en ajoutant une entrée chromeExtension au fichier locked.properties. Par exemple :
chromeExtension.1=bpifadopbphhpkkcfohecfadckmpjmjd
Pour Horizon 2406 ou version ultérieure, les clients d'extension Chrome et les applications Web isolées définissent leur origine initiale et sur leur propre identité. Pour que les connexions aboutissent, enregistrez l'extension ou le bundle en ajoutant une entrée chromeExtension ou iwaBundleId au fichier locked.properties. Par exemple :
chromeExtension.1=bpifadopbphhpkkcfohecfadckmpjmjd
iwaBundleId.1=ckg65ilaae42o6wd3uj4xfwznhba7pz2p6kojga5c27hkwq5f66qaaic
Reportez-vous également à la section Vérification de l'hôte.
Cette page vous a-t-elle été utile ?