La función para compartir recursos de distintos orígenes (CORS) regula las solicitudes de diferentes orígenes del cliente. Para ello, proporciona declaraciones de directivas al cliente a demanda y comprueba que cumplen la directiva. Esta función se puede volver a configurar o deshabilitar si es necesario.
Las directivas incluyen el conjunto de métodos HTTP que se aceptan, los posibles orígenes de las solicitudes y los tipos de contenido válidos. Estas directivas varían en función de la URL de solicitud y se pueden reconfigurar según sea necesario. Para ello, agregue entradas al archivo locked.properties.
Los puntos suspensivos después de un nombre de propiedad indican que esta puede aceptar una lista.
Propiedades CORS
| Propiedad | Tipo de valor | Principal predeterminado | Otros valores predeterminados |
|---|---|---|---|
| enableCORS | true false | true | n/d |
| 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 | * | n/d |
| filterHeaders | true false | true | n/d |
| checkOrigin | true false | true | n/d |
| checkReferer | true false | false | n/d |
| allowCredentials | true false | false | (Horizon 2312 y versiones anteriores) admin, broker, health, misc, portal, rest, saml, tunnel, view-vlsi, view-vlsi-rest = true
(Horizon 2406 y versiones posteriores) 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 y versiones anteriores) rest=GET,POST,PUT,PATCH,DELETE root=GET (Horizon 2406 y versiones posteriores) saml=GET,HEAD tunnel=GET,POST |
| allowPreflight | true false | true | n/d |
| maxAge | cache-time | 0 | n/d |
| balancedHost...
Nota: A partir de Horizon 2111.1/2209, utilice Horizon Console para establecer equilibradores de carga en lugar de hacerlo aquí. | nombre del equilibrador de carga | OFF | n/d |
| portalHost... | gateway-name | OFF | n/d |
| chromeExtension... | chrome-extension-hash | ppkfnjlimknmjoaemnpidmdlfchhehel Nota: Este valor es el ID de la extensión de Chrome para Horizon Client para Chrome. | n/d |
| iwaBundleId...
NOTA: Esta propiedad se aplica a las versiones 2406 y posteriores. | chrome-client-bundle-id | ckg65ilaae42o6wd3uj4xfwznhba7pz2p6kojga5c27hkwq5f66qaaic
NOTA: Este valor corresponde al ID del paquete Chrome para Horizon IWA Client. | n/d |
| blockHtmlAccess NOTA: Esta propiedad se aplica a las versiones 2212 y posteriores. | true false | false | n/d |
| blockSwaggerDocs NOTA: Esta propiedad se aplica a las versiones 2111.2, 2212.1, 2303 y posteriores. | true false | false Nota: Establezca el valor true para evitar que se entregue la documentación de REST API. | n/d |
A continuación, aparecen ejemplos de propiedades CORS en el archivo 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
Comprobación del origen
La comprobación del origen está habilitada de forma predeterminada. Cuando está habilitada, se aceptan solicitudes sin origen o con un origen igual a la dirección especificada en la URL externa, cualquier dirección balancedHost, cualquier dirección portalHost, cualquier hash chromeExtension, null o localhost. Si el origen no es una de estas posibilidades, se registra el error "Origen inesperado" y devuelve el estado 404.
Nota: Algunos navegadores no ofrecen ningún encabezado Origen o no siempre ofrecen uno. De forma opcional, se puede marcar el encabezado Sitio de referencia si no aparece el encabezado Origen. El encabezado Sitio de referencia tiene una "r" en el nombre del encabezado. Para comprobar el encabezado Sitio de referencia, agregue la siguiente propiedad al archivo locked.properties:
checkReferer=true
Si varios hosts de Connection Server tienen la carga equilibrada, debe especificar la dirección del equilibrador de carga agregando una entrada balancedHost al archivo locked.properties. Se supone que en esta dirección el puerto es el 443.
Si el cliente se conecta mediante un dispositivo de Unified Access Gateway u otra puerta de enlace, debe especificar todas las direcciones de puerta de enlace agregando entradas portalHost al archivo locked.properties. Se supone que en estas direcciones el puerto es el 443. También debe especificar entradas portalHost para ofrecer acceso al host de Connection Server por un nombre diferente al nombre que especifica la URL externa.
Para Horizon 2312 y versiones anteriores, los clientes de la extensión de Chrome asignan su origen inicial a su propia identidad. Para que las conexiones se realicen correctamente, agregue una entrada chromeExtension al archivo locked.properties para registrar la extensión. Por ejemplo:
chromeExtension.1=bpifadopbphhpkkcfohecfadckmpjmjd
Para Horizon 2406 y versiones posteriores, los clientes de la extensión de Chrome y las aplicaciones web aisladas asignan su origen inicial a su propia identidad. Para que las conexiones se realicen correctamente, registre la extensión o el paquete agregando una entrada chromeExtension o iwaBundleId al archivo locked.properties. Por ejemplo:
chromeExtension.1=bpifadopbphhpkkcfohecfadckmpjmjd
iwaBundleId.1=ckg65ilaae42o6wd3uj4xfwznhba7pz2p6kojga5c27hkwq5f66qaaic
Consulte también Comprobación de hosts.
¿Le resultó útil esta página?