Skip to main content

28 mai 2026

Partage des ressources cross-origin

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 valeurValeur principale par défautAutres valeurs par défaut
enableCORStrue

false
trues/o
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*s/o
filterHeaderstrue

false
trues/o
checkOrigintrue

false
trues/o
checkReferertrue

false
falses/o
allowCredentialstrue

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-nameGET,HEAD,POSTdct=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
allowPreflighttrue

false
trues/o
maxAgecache-time0s/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-nameOFFs/o
portalHost...gateway-nameOFFs/o
chromeExtension...chrome-extension-hashppkfnjlimknmjoaemnpidmdlfchhel 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-idckg65ilaae42o6wd3uj4xfwznhba7pz2p6kojga5c27hkwq5f66qaaic

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
falses/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 ?

Envoyer un commentaire sur cette rubrique

Cette rubrique vous a-t-elle été utile ?

N'indiquez aucune information personnelle ou confidentielle.

Génération du lien…