2016-12-27 6 views
2

Ich habe eine Ionic App, die Daten über ein Webapi auf Azure synchronisiert.404 nicht gefunden - nur vom Mobilgerät

Ich habe eine neue Version der API, die ich testen möchte, bevor ich sie aktiviere, also habe ich einen Deployment-Slot auf Azure erstellt und das neue Webapi auf den neuen Slot hochgeladen.

Wenn ich meine Synchronisation im Ripple-Emulator ausführen, funktioniert es.

Wenn ich es jedoch auf dem mobilen Gerät ausführen, geben die HTTP-Anforderungen einen Fehler 404 nicht gefunden zurück.

Wenn ich die URL in einen Browser auf dem Gerät, kein Problem, die Seite gibt korrekt "Authentifizierung erforderlich", und wenn ich die URL auf dem Gerät auf die Live-Site ändern, funktioniert es auch.

Kann es in der Azure-Konfiguration etwas geben, das 404 zurückgibt, wenn die Anfrage von einem mobilen Gerät kommt?

Antwort

1

Scheint, dass Sie die Whitelisting-Regeln für Cordova verpasst haben. Die Domänen-Whitelist ist ein Sicherheitsmodell, das den Zugriff auf externe Domänen steuert, auf die Ihre Anwendung keinen Einfluss hat. Bevor Sie Ihre Anwendung in die Produktion verschieben, sollten Sie eine Whitelist formulieren und den Zugriff auf bestimmte Netzwerkdomänen zulassen.

Zuerst sollten Sie Cordova Whitelist-Plugin installieren (ich denke, Sie haben es bereits), dann fügen Sie die folgenden Zeilen, die den Zugriff auf jede Website auf AppName/config.xml Datei ermöglichen konfiguriert sind.

<allow-navigation href="*" /> 
<allow-intent href="*" /> 
<access origin="*" /> 

Weitere Informationen finden Sie unter https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-whitelist/.