Startanwendung:
%Vor%Meine YAML-Datei ist wie folgt:
%Vor%Ich habe eine Microservice-Anwendung (an Port 8081) namens springapp und einige Restdienste. Unten ist meine Client-UI-App:
%Vor%Aber ich bekomme ein
%Vor%Diese HTML5-App für die Benutzeroberfläche befindet sich auf Ссылка . CORS, CORS, CORS ... Bitte helfen. BTW Ссылка gibt eine json-Liste zurück, die in der Adressleiste des Browsers angezeigt werden soll. Der spring.io blog hier sagt, dass es keinen Filter braucht, weil die zuulproxy das erledigt, aber ich weiß nicht, warum es nicht für mich funktioniert.
Das Hinzufügen dieses Code-Stücks zu Ihrer mit @EnableZuulProxy markierten Klasse sollte den Trick machen.
%Vor% Wenn Ihre Anwendung auf http://localhost:8383
ausgeführt wird, können Sie nur AJAX-Aufrufe auf http://localhost:8383
setzen. Zuul kann und kann das nicht ändern.
Was Zuul tun kann, ist das Zuordnen von Anfragen für z.B. http://localhost:8383/zuul/
bis http://localhost:8080/zuul/
. Aber Ihr Browser müsste http://localhost:8383/zuul/springapp/departments
aufrufen und Sie müssen dieses Mapping konfigurieren.
Das ist nur der Browser, der Ihnen sagt, dass Sie gegen die gemeinsame Ursprungsrichtlinie verstoßen haben (siehe Wikipedia-Eintrag und eine riesige Menge von Material im Internet, von denen keines wirklich relevant für die Tags ist, die Sie hinzugefügt haben). Sie können dem Browser entweder beibringen, Ressourcen von einer anderen Adresse zu laden, indem Sie die CORS Pre-Flight Checks durchführen (zB in Filter
) oder den HTML-Code über den Proxy laden (Hinweis: Letzteres ist viel einfacher und weniger) fehleranfällig).
Ich hatte ein ähnliches Problem, da die Angular Web App RESTful-Dienste in Anspruch nahm, die von Spring Boot mit Zuul und Spring Security implementiert wurden.
Keine der obigen Lösungen hat funktioniert. Ich erkannte, dass das Problem NICHT in Zuul, sondern in Spring Security war.
Als offizielle Dokumentation ( CORS mit Spring Security ) ) besagt, dass bei Verwendung von Spring Security CORS vor Spring Security konfiguriert werden muss.
Schließlich war ich in der Lage, die Lösung von Grinish Nepal (siehe vorherige Antworten) in eine Lösung zu integrieren, die funktioniert.
Ohne weitere Umschweife, hier ist der Code, der CORS mit Spring Security und Zuul aktiviert: '' '
%Vor%'' '
Tags und Links java spring spring-boot spring-cloud netflix-zuul