Habilitar CORS en la API JIRA REST
Llamo a JIRA REST API desde JavaScript en una macro de usuario de Confluence y me enfrento a problemas de CORS porque JIRA y Confluence están en dos dominios diferentes ysolicitud de verificación previa desde el navegador está fallando. He probado varias soluciones CORS como se describe a continuación, sin ningún éxito. Así que estoy rogando por algún aporte de otros que probablemente hayan resuelto este problema.
Fragmento de JavaScript que falla:
AJS.$.ajax({
type: "GET",
url: "http://jira.mydomain.com/rest/api/latest/search/?jql=issue%20in%20linkedIssues(SR-45)",
dataType: "json",
contentType: "application/json",
async: false
})
Mensaje de error (de Firefox):
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://jira.mydomain.com/rest/api/latest/search/?jql=issue%20in%20linkedIssues(SR-45). This can be fixed by moving the resource to the same domain or enabling CORS.
Configuración JIRA
Versión JIRA: 6.4.12Url:http://jira.mydomain.comEjecutar Apache en frente (proxy): SíConfiguración de encabezados de respuesta:Access-Control-Allow-Headers:origin, content-type, accept
Access-Control-Allow-Methods:POST, GET, OPTIONS
Access-Control-Allow-Origin:*
Confluencia agregada a lalista blanca: SiExpresión: Confluencia (http://confluence.mydomain.com)Tipo: Enlace de aplicaciónPermitir entrante: verdaderoConfiguración de confluencia
Versión de confluencia: 5.8.8Url:http://confluence.mydomain.comEjecutar Apache en frente (proxy): SíConfiguración de encabezados de respuesta:Access-Control-Allow-Origin:*
JIRA añadido a lalista blanca: SiExpresión: Confluencia (http://jira.mydomain.com)Tipo: Enlace de aplicaciónPermitir entrante: verdaderoProbado con navegadores:
Chrome (último)Safari (último)Firefox (último)Solicitud de prueba previa (OPCIONES) con CURL:
ismar.slomic$ curl -X OPTIONS "http://jira.mydomain.com/rest/api/latest/search/?jql=issue%20in%20linkedIssues(SR-45)" -v
* Trying 10.107.1.24...
* Connected to jira.mydomain.com (127.0.0.1) port 80 (#0)
> OPTIONS /rest/api/latest/search/?jql=issue%20in%20linkedIssues(SR-45) HTTP/1.1
> Host: jira.mydomain.com
> User-Agent: curl/7.43.0
> Accept: */*
>
* Empty reply from server
* Connection #0 to host jira.mydomain.com left intact
curl: (52) Empty reply from server
Esto parece ser una respuesta positiva.
Solicitud de prueba previa (OPCIONES) con extensión CromeCartero:
OPTIONS http://jira.mydomain.com/rest/api/latest/search/?jql=issue%20in%20linkedIssues(SR-45)
Error de respuesta:Could not get any response. This seems to be like an error connecting to http://jira.mydomain.com/rest/api/latest/search/?issue%20in%20linkedIssues(SR-45)