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 configurar y se puede habilitar 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.
Propiedad | Tipo de valor | Principal predeterminado | Otros valores predeterminados |
---|---|---|---|
enableCORS | true false |
true | n/a |
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 sse=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/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 health=true misc =true portal=true rest=true saml=true sse=true tunnel=true view-vlsi=true view-vlsi-rest=true |
allowMethod... | http-method-name | GET,HEAD,POST | health =GET,HEAD misc =GET,HEAD rest=GET,POST,PUT, PATCH,DELETE saml =GET,HEAD sse=GET,POST tunnel=GET,POST |
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
Nota: Este valor es el ID de la extensión de Chrome para
Horizon Client para Chrome.
|
n/a |
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, la 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.
checkReferer=true
Si varios hosts de los servidores de conexión 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 del servidor de conexión por un nombre diferente al nombre que especifica la URL externa.
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