cross-origin-requests blockiert werden, die in tomcat 8 mit HTTP-status-code 403

kann es scheinen, wie ein bekanntes Problem und viele Fragen vorhanden, über das Thema, aber meine situation ist sehr seltsam. Ich habe eine einfache web-Anwendung, die bereitgestellt wird auf tomcat 8.0.36. Ich habe konfiguriert die CORS richtig:

<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>

Den cross-origin-requests blockiert werden, indem der browser:

Kein 'Access-Control-Allow-Origin' - header vorhanden ist, auf die angeforderte Ressource. Herkunft 'https://www.mytestpage.com' ist daher nicht der Zugriff erlaubt. Die Antwort hatte Sie den HTTP-status-code 403.

In das tomcat-log-Datei sehe ich auch den response code 403. Interessant ist, dass der code meiner Anwendung nicht ausgeführt, im Fall von cross-origin-requests. Die Anfragen werden blockiert, bevor Sie erreichen meine Anwendung und 403 wird sofort gesendet. Ich habe keine apache vor den tomcat, es ist deutlich tomcat. Ich habe versucht, viele Dinge, einschließlich whitelisting die Ursprünge und die Angabe erlaubt, Header - nichts half. Ich habe auch versucht den header programmgesteuert, bis ich herausfand, dass der code im Falle von cross-origin-Anfrage wird nie ausgeführt.

UPD: Der Endpunkt akzeptiert POST-Anfragen. Diese POST-Anfragen gesendet werden, wie Sie XMLHttpRequest-Anforderungen aus der JS-snippet.

Irgendwelche Ideen was es sein kann?

p.s ich kann machen erfolgreiche same-origin-requests.

Hallo, Sie verwendet die Standardwerte, die in Ihrem CorsFilter Konfiguration, so dass problem sein kann mit allem. Zum Beispiel cors.allowed.methods Standardwert ist GET, POST, HEAD, OPTIONS und vielleicht in der Anfrage DELETE versucht. Könnten Sie die post mehr Informationen?
Ich habe aktualisiert die Frage. Ich bin senden von POST-requests.
Antrag abgelehnt durch org.apache.catalina.filters.CorsFilter. Versuchen Sie Debuggen, oder setzen Sie logger auf debug-level über diese Klasse.
yeap, es ist auf jeden Fall der filter ist die Blockierung der Anfrage. Wie kann ich Debuggen, oder setzen Sie den logger auf dieser bestimmten Klasse?
Welche IDE, welchen logger, mit welchem build-tool, das Sie verwenden?

InformationsquelleAutor bekon | 2016-07-27

Schreibe einen Kommentar