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.
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich gefunden, was war das Problem - ich musste den Content-Type-header in der Anfrage, andernfalls wird die Anfrage blockiert werden würde. - Tomcat CORS-filter
InformationsquelleAutor bekon
Du eigentlich haben beide
Access-Control-Allow-Origin
undAccess-Control-Allow-Methods
. Hier ist ein Beispiel:Außerdem haben Sie zu akzeptieren "OPTIONEN" die Methode der Rückkehr beide
Access-Control-Allow-*
header-Zeilen. Einige können Browser Problem dieser Art von Anforderung, bevor Sie Ihre eigentliche Anfrage (z.B. "PUT" - Anforderung), um den Zugriff auf Informationen des service.InformationsquelleAutor Boris Brodski