2017-10-29 2 views
0

ich CORS in meinem TomEE Web-Server mit der folgenden web.xml Datei aktiviert habe:Aktivieren CORS in TomEE verursacht 404 auf allen Strecken

<?xml version="1.0" encoding="ISO-8859-1"?> 
<!-- 
    Licensed to the Apache Software Foundation (ASF) under one or more 
    contributor license agreements. See the NOTICE file distributed with 
    this work for additional information regarding copyright ownership. 
    The ASF licenses this file to You under the Apache License, Version 2.0 
    (the "License"); you may not use this file except in compliance with 
    the License. You may obtain a copy of the License at 
     http://www.apache.org/licenses/LICENSE-2.0 
    Unless required by applicable law or agreed to in writing, software 
    distributed under the License is distributed on an "AS IS" BASIS, 
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
    See the License for the specific language governing permissions and 
    limitations under the License. 
--> 
<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
     version="3.0" metadata-complete="true"> 

    <display-name>Spotitube</display-name> 


    <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> 
    <filter> 
     <filter-name>CorsFilter</filter-name> 
     <filter-class>org.apache.catalina.filters.CorsFilter</filter-class> 
     <init-param> 
      <param-name>cors.allowed.origins</param-name> 
      <param-value>*</param-value> 
     </init-param> 
     <init-param> 
      <param-name>cors.allowed.methods</param-name> 
      <param-value>GET,POST,HEAD,OPTIONS,PUT</param-value> 
     </init-param> 
     <init-param> 
      <param-name>cors.allowed.headers</param-name> 
      <param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value> 
     </init-param> 
     <init-param> 
      <param-name>cors.exposed.headers</param-name> 
      <param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value> 
     </init-param> 
     <init-param> 
      <param-name>cors.support.credentials</param-name> 
      <param-value>true</param-value> 
     </init-param> 
     <init-param> 
      <param-name>cors.preflight.maxage</param-name> 
      <param-value>10</param-value> 
     </init-param> 
    </filter> 
    <filter-mapping> 
     <filter-name>CorsFilter</filter-name> 
     <url-pattern>*</url-pattern> 
    </filter-mapping> 


</web-app> 

Da diese Änderung alle meine Routen zurückkehren 404 aus dem gleichen Ursprung wie sowie von einem anderen Ursprung. Weiß jemand, was das verursachen könnte? Ich habe auch die einfachste TomEE Cors Filter von hier aus versucht: https://enable-cors.org/server_tomcat.html, aber das verursacht nur das gleiche Ergebnis.

Vielen Dank im Voraus.

+0

Sie haben den Filter zweimal deklariert. Entfernen Sie die Redundanzdeklaration (sowohl Filter- als auch Filterzuordnung). In Ihrer zweiten Deklaration ist das URL-Muster nur "\ *", aber es sollte "/ *" sein. –

+0

Ich habe das auch bemerkt und seitdem habe ich es geändert, das behebt das Problem allerdings nicht. –

+0

@ SvetlinZarev hast du eine Ahnung? –

Antwort

0

Haben Sie vor, metadata-complete="true" zu setzen? Einige Scans werden deaktiviert, sodass Sie sie möglicherweise auf false setzen möchten.

Was stellen Sie auf dem Server bereit? Diese web.xml hat kein Servlet, also sollte es etwas gescannt werden oder so?

Verwandte Themen