Activación del CORS

El Intercambio de recursos de origen cruzado (CORS) es un estándar W3C que permite intercambiar datos entre dominios. El CORS permite a las aplicaciones web que se ejecutan en un dominio acceder a los datos de otro dominio. Al habilitar el CORS en su servidor de Spectrum Technology Platform, puede permitir a las aplicaciones web hospedadas en otro dominio acceder a los servicios web de Spectrum Technology Platform.

Por ejemplo, si tiene una aplicación web hospedada en webapp.example.com. Esta aplicación web contiene una función de JavaScript que llama a un servicio web de Spectrum Technology Platform hospedado en spectrum.example.com. Sin el CORS, necesitaría usar un servidor proxy para agilizar esta solicitud, lo que haría su implementación más compleja. Con el CORS, no necesita usar un servidor proxy. En cambio, puede designar webapp.example.com como "origen permitido" y permitirle así a Spectrum Technology Platform responder a las solicitudes del servicio web provenientes del dominio webapp.example.com.

Para habilitar el CORS en su servidor de Spectrum Technology Platform:

  1. Detenga el servidor de Spectrum Technology Platform.
  2. Abra este archivo en un editor de texto:

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

  3. Edite los siguientes parámetros.
    spectrum.jetty.cors.enabled

    Configure esta propiedad en true para habilitar el CORS. El valor predeterminado es false.

    spectrum.jetty.cors.allowedOrigins

    Una lista separada por comas de orígenes permitidos para acceder a los recursos en el servidor de Spectrum Technology Platform. El valor predeterminado es http://localhost:8080,http://localhost:443, que permite el acceso a los recursos mediante el puerto HTTP predeterminado 8080 y el puerto HTTPS predeterminado de 443.

    Si un origen permitido contiene uno o más asteriscos ("*"), por ejemplo http://*.domain.com, los asteriscos se convierten en .* y los puntos (".") pasan a ser "\.". De esta manera, el origen permitido resultante se interpreta como una expresión regular. Por lo tanto, los orígenes permitidos pueden ser expresiones más complejas, como https?://*.domain.[a-z]{3}, que usan http o https, múltiples subdominios y cualquier dominio superior de tres letras (.com, .net, .org, etc.).

    spectrum.jetty.cors.allowedMethods

    Una lista separada por comas de métodos HTTP permitidos para acceder a los recursos en el servidor de Spectrum Technology Platform. El valor predeterminado es POST,GET,OPTIONS,PUT,DELETE,HEAD.

    spectrum.jetty.cors.allowedHeaders

    Una lista separada por comas de encabezados HTTP permitidos para acceder a los recursos en el servidor de Spectrum Technology Platform. El valor predeterminado es X-PINGOTHER, Origin, X-Requested-With, Content-Type, Accept. Si el valor es un asterisco simple ("*"), se aceptarán todos los encabezados.

    spectrum.jetty.cors.preflightMaxAge

    La cantidad de segundos durante los cuales el cliente puede obtener las solicitudes preparatorias. El valor predeterminado es 1800 segundos o 30 minutos.

    spectrum.jetty.cors.allowCredentials

    Indica si el recurso permite solicitudes con credenciales. El valor predeterminado es true.

  4. Guarde y cierre el archivo.
  5. Inicie el servidor de Spectrum Technology Platform.