Spring Cloud - Zuul Proxy erzeugt eine Nein-Ajax-Antwort "Zugriffssteuerung-Zulassen-Ursprung"

7

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.

    
Given Nyauyanga 23.02.2015, 09:36
quelle

4 Antworten

21

Das Hinzufügen dieses Code-Stücks zu Ihrer mit @EnableZuulProxy markierten Klasse sollte den Trick machen.

%Vor%     
Grinish Nepal 07.04.2016, 23:44
quelle
5

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.

    
zeroflagL 23.02.2015 14:21
quelle
1

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

    
Dave Syer 23.02.2015 10:31
quelle
0

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%

'' '

    
Mate Šimović 17.10.2017 17:01
quelle