Aktivieren von CORS

Bei Cross-Origin Resource Sharing (CORS) handelt es sich um einen W3C-Standard, anhand dessen Sie Daten zwischen Domänen teilen können. Mithilfe von CORS können Webanwendungen, die in einer Domäne ausgeführt werden, auf Daten einer anderen Domäne zugreifen. Wenn Sie CORS auf Ihrem Spectrum™ Technology Platform-Server aktivieren, können Sie auf einer anderen Domäne gehosteten Webanwendungen erlauben, auf die Spectrum™ Technology Platform-Webservices zuzugreifen.

Nehmen wir beispielsweise an, dass Ihre Webanwendung über webapp.example.com gehostet wird. Diese Webanwendung enthält eine JavaScript-Funktion, die einen über spectrum.example.com gehosteten Spectrum™ Technology Platform-Webservice aufruft. Ohne CORS müssten Sie einen Proxyserver verwenden, um diese Anforderung zu ermöglichen. Somit würde Ihre Implementierung komplizierter werden. Die Verwendung eines Proxyservers ist mit CORS nicht erforderlich. Stattdessen können Sie webapp.example.com die Kennzeichnung „Zulässiger Ursprung“ geben. Dementsprechend erlauben Sie Spectrum™ Technology Platform, auf Webservice-Anforderungen zu antworten, die über die Domäne webapp.example.com gesendet werden.

So aktivieren Sie CORS auf Ihrem Spectrum™ Technology Platform-Server:

  1. Stoppen Sie den Spectrum™ Technology Platform-Server.
  2. Öffnen Sie die folgende Datei in einem Texteditor:

    SpectrumLocation/server/app/conf/spectrum-advanced.properties

  3. Bearbeiten Sie die folgenden Parameter.
    spectrum.jetty.cors.enabled

    Setzen Sie diese Eigenschaft auf true, um CORS zu aktivieren. Der Standardwert ist false.

    spectrum.jetty.cors.allowedOrigins

    Eine durch Kommas getrennte Liste der Ursprünge, die auf Ressourcen auf dem Spectrum™ Technology Platform-Server zugreifen können. Der Standardwert lautet http://localhost:8080,http://localhost:443. Hierüber wird der Zugriff auf Ressourcen über den HTTP-Standardport 8080 und den HTTPS-Standardport 443 gewährt.

    Wenn ein zulässiger Ursprung ein oder mehrere Sternchen („*“) enthält, z. B. http://*.domain.com, werden Sternchen in .* umgewandelt und Punktzeichen („.“) werden in Escape-Zeichen „\.“ gesetzt. Der daraus folgende zulässige Ursprung wird als regulärer Ausdruck interpretiert. Zulässige Ursprünge können dementsprechend komplexere Ausdrücke wie https?://*.domain.[a-z]{3} sein, die HTTP oder HTTPS, mehreren Unterdomänen und jeder dreistelligen Domäne der obersten Ebene (.com, .net, .org usw.) entsprechen.

    spectrum.jetty.cors.allowedMethods

    Eine durch Kommas getrennte Liste der HTTP-Methoden, die beim Zugriff auf Ressourcen auf dem Spectrum™ Technology Platform-Server verwendet werden können. Der Standardwert ist POST,GET,OPTIONS,PUT,DELETE,HEAD.

    spectrum.jetty.cors.allowedHeaders

    Eine durch Kommas getrennte Liste der HTTP-Header, die beim Zugriff auf Ressourcen auf dem Spectrum™ Technology Platform-Server zugelassen sind. Der Standardwert ist X-PINGOTHER, Origin, X-Requested-With, Content-Type, Accept. Wenn der Wert ein einzelnes Sternchen („*“) ist, werden alle Header zugelassen.

    spectrum.jetty.cors.preflightMaxAge

    Die Anzahl an Sekunden, während der Preflight-Anforderungen durch den Client zwischengespeichert werden können. Der Standardwert beträgt 1800 Sekunden oder 30 Minuten.

    spectrum.jetty.cors.allowCredentials

    Gibt an, ob die Ressource Anforderungen mit Anmeldeinformationen zulässt. Der Standardwert ist true.

  4. Speichern Sie die Datei und schließen Sie sie.
  5. Starten Sie den Spectrum™ Technology Platform-Server.