Die CORS-Funktion (Cross-Origin Resource Sharing, Ressourcenfreigabe zwischen verschiedenen Ursprüngen) steuert die clientseitigen Anforderungen verschiedener Herkunft durch Bereitstellen von Richtlinienanweisungen für den Client nach Bedarf und Überprüfen der Anforderungen auf Einhaltung der Richtlinie. Diese Funktion kann gegebenenfalls neu konfiguriert oder deaktiviert werden.
Zu den Richtlinien gehört der Satz zulässiger HTTP-Methoden sowie die Festlegung, woher Anforderungen stammen können und welche Arten von Inhalten gültig sind. Diese Richtlinien variieren je nach Anforderungs-URL und können durch Hinzufügen von Einträgen zur Datei locked.properties nach Bedarf neu konfiguriert werden.
Ein Auslassungszeichen nach einem Eigenschaftsnamen weist darauf hin, dass für die Eigenschaft eine Liste verwendet werden kann.
CORS-Eigenschaften
| Eigenschaft | Werttyp | Primäre Standardeinstellung | Sonstige Standardeinstellungen |
|---|---|---|---|
| enableCORS | true false | true | k.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 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 | * | k.A. |
| filterHeaders | true false | true | k.A. |
| checkOrigin | true false | true | k.A. |
| checkReferer | true false | false | k.A. |
| allowCredentials | true false | false | (Horizon 2312 und früher) admin, broker, health, misc, portal, rest, saml, tunnel, view-vlsi, view-vlsi-rest = true
(Horizon 2406 und höher) 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 und früher) rest=GET,POST,PUT,PATCH,DELETE root=GET (Horizon 2406 und früher) saml=GET,HEAD tunnel=GET,POST |
| allowPreflight | true false | true | k.A. |
| maxAge | cache-time | 0 | k.A. |
| balancedHost...
Hinweis: Verwenden Sie ab Horizon 2111.1/2209 die Horizon Console zum Festlegen von Lastausgleichsdiensten. | load-balancer-name | OFF | k.A. |
| portalHost... | gateway-name | OFF | k.A. |
| chromeExtension... | chrome-extension-hash | ppkfnjlimknmjoaemnpidmdlfchhehel Hinweis: Dieser Wert ist die Chrome-Erweiterungs-ID für Horizon Client für Chrome. | k.A. |
| iwaBundleId...
HINWEIS: Diese Eigenschaft gilt für die Versionen 2406 und höher. | chrome-client-bundle-id | ckg65ilaae42o6wd3uj4xfwznhba7pz2p6kojga5c27hkwq5f66qaaic
Hinweis: Dieser Wert ist für die Chrome-Paket-ID für Horizon IWA Client. | k.A. |
| blockHtmlAccess HINWEIS: Diese Eigenschaft gilt für die Versionen 2212 und höher. | true false | false | k.A. |
| blockSwaggerDocs HINWEIS:Diese Eigenschaft gilt für die Versionen 2111.2, 2212.1, 2303 und höher). | true false | false Hinweis: Legen Sie den Wert auf true fest, um die Bereitstellung der REST API-Dokumentation zu verhindern. | k.A. |
Nachfolgend finden Sie Beispiele für CORS-Eigenschaften in der Datei 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
Überprüfen der Herkunft
Das Überprüfen des Ursprungs, also der Herkunft, ist standardmäßig aktiviert. Wenn diese Funktion aktiviert ist, wird eine Anforderung nur ohne Ursprung akzeptiert oder wenn sie von der Adresse in der externen URL, einer beliebigen balancedHost-Adresse, einer beliebigen portalHost-Adresse, einem beliebigen chromeExtension-Hash, von null oder localhost stammt. Bei einem anderen Ursprung wird der Fehler „Unerwartete Herkunft“ protokolliert und der Status „404“ zurückgegeben.
Hinweis: Bestimmte Browser stellen (unter Umständen) keinen Ursprungsheader bereit. Optional kann der Referenzheader in einer Anforderung bei nicht vorhandenem Ursprungsheader überprüft werden. Der Referenzheader weist ein „r“ im Headernamen auf. Um den Referenzheader zu überprüfen, fügen Sie der Datei locked.properties folgende Eigenschaft hinzu:
checkReferer=true
Wenn die Lasten mehrerer Verbindungsserver-Hosts ausgeglichen sind, müssen Sie die Adresse des Lastausgleichsdiensts angeben, indem Sie der Datei locked.properties einen Eintrag vom Typ balancedHost hinzufügen. Port 443 wird für diese Adresse vorausgesetzt.
Wenn die Clients die Verbindung über eine Unified Access Gateway-Appliance oder ein anderes Gateway herstellen, müssen Sie alle Gateway-Adressen durch Hinzufügen von portalHost-Einträgen zur Datei locked.properties angeben. Port 443 wird für diese Adressen vorausgesetzt. Sie müssen außerdem portalHost-Einträge angeben, um den Zugriff auf einen Verbindungsserver-Host zu gewähren. Der Name muss sich dabei von dem von der externen URL angegebenen Namen unterscheiden.
Für Horizon 2312 und früher legen Chrome-Erweiterung-Clients ihren ersten Ursprung mit ihrer eigenen Identität fest. Damit Verbindungen erfolgreich hergestellt werden können, muss die Erweiterung durch Hinzufügen eines Eintrags vom Typ chromeExtension zur Datei locked.properties registriert werden. Beispiel:
chromeExtension.1=bpifadopbphhpkkcfohecfadckmpjmjd
Für Horizon 2406 und höher legen Chrome-Erweiterung-Clients und isolierte Web-Apps ihren ersten Ursprung mit ihrer eigenen Identität fest. Damit Verbindungen erfolgreich hergestellt werden können, muss die Erweiterung oder das Paket durch Hinzufügen eines Eintrags vom Typ „chromeExtension“ oder „iwaBundleId“ zur Datei „locked.properties“ registriert werden. Beispiel:
chromeExtension.1=bpifadopbphhpkkcfohecfadckmpjmjd
iwaBundleId.1=ckg65ilaae42o6wd3uj4xfwznhba7pz2p6kojga5c27hkwq5f66qaaic
Weitere Informationen finden Sie unter Hostprüfung.
War diese Seite hilfreich?