puede parecer un problema conocido y muchas preguntas existen sobre el tema, sin embargo, mi situación es muy extraña. Tengo una aplicación web simple que se implementa en tomcat 8.0.36. He configurado el CORS correctamente:

<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

La cruz-las solicitudes de origen son bloqueados por el navegador:

No ‘Access-Control-Allow-Origin’ encabezado presente en el recurso solicitado. Origen ‘https://www.mytestpage.com‘ es, por tanto, no se permite el acceso. La respuesta ha de código de estado HTTP 403.

En el tomcat archivo de registro, también puedo ver el código de respuesta de 403. Lo que es interesante es que el código de mi aplicación no se ejecuta nunca en el caso de las solicitudes de origen. Las solicitudes están bloqueados antes de llegar a mi solicitud y 403 se envía inmediatamente. No tengo apache en frente de tomcat, es claro tomcat. He intentado muchas cosas, incluyendo la creación de listas blancas de los orígenes y la especificación permite headers – nada ayudó. También he tratado de establecer el encabezado de programación hasta que me encontré con que el código en el caso de la solicitud de origen no se ejecutan nunca.

UPD: El punto final acepta peticiones POST. Los CORREOS que se envían las solicitudes como XmlHttpRequests de la JS fragmento de código.

Alguna idea de qué puede ser?

p.s que puedo hacer exitoso mismo las solicitudes de origen.

Hola, usted utilizar los valores predeterminados en su CorsFilter configuración, para que el problema puede ser con todo. Por ejemplo cors.allowed.methods valor predeterminado es GET, POST, HEAD, OPTIONS y tal vez en la solicitud DELETE está tratando. Podría publicar más detalles?
He actualizado a la pregunta. Estoy enviando peticiones POST.
Se rechaza la solicitud por org.apache.catalina.filters.CorsFilter. Trate de depuración o conjunto de maderero a nivel de depuración en esta clase.
yeap, es definitivamente el filtro que es el bloqueo de la solicitud. ¿Cómo puedo depurar o poner el registrador en esta clase específica?
¿Qué IDE, lo registrador, lo que la generación de herramientas que usted utiliza?

OriginalEl autor bekon | 2016-07-27

2 Comentarios

  1. 2

    He encontrado cuál era el problema – he tenido que configurar el encabezado de Tipo de Contenido en la solicitud, de lo contrario, la solicitud podría ser bloqueado. – Tomcat CORS filtro

    OriginalEl autor bekon

  2. 1

    Usted realmente tiene que establecer tanto Access-Control-Allow-Origin y Access-Control-Allow-Methods. Aquí está un ejemplo:

    Access-Control-Allow-Origin: http://www.myhost.com
    Access-Control-Allow-Methods: GET, POST, PUT, DELETE
    

    También tienes que aceptar «OPCIONES» método de regresar Access-Control-Allow-* líneas de cabecera. Algunos navegadores pueden emitir este tipo de solicitud previo a su solicitud real (por ejemplo, «PONER» solicitud) para obtener el acceso a la información del servicio.

    OriginalEl autor Boris Brodski

Dejar respuesta

Please enter your comment!
Please enter your name here