Fetch API funktioniert nicht mit localhost/127.0.0.1

Nur als hintergrund, ich habe eine app reagieren sitzen auf einem remote-EC2-Ubuntu-Instanz. Dem gleichen server läuft auch eine Go-app lauscht auf port 8080 (port wurde geöffnet, um alle von den Sicherheits-Einstellungen).

Ich versuche, eine Anfrage zu stellen mit Fetch API, aus der app Reagieren, wie folgt:

var bearer = 'Bearer ...'
return fetch('http://localhost:8080/home', {
  headers: new Headers({
    'Authorization': bearer
  })
})

In der Konsole von Chrome und Firefox, bin ich immer:

TypeError: NetworkError, wenn Sie versuchen zu Holen Ressource

Das gleiche gilt, wenn ich Ersatz localhost mit 127.0.0.1.

Verwendung der externen IP von der EC2-Instanz, jedoch klappt (und löst einen CORS-request - aufgrund der 'Authorization' - header - was ist reibungslos durch den server).

Im letzteren Fall, ich sehe auch die server-Protokollierung der eingehenden Anfragen für beide OPTIONEN, und BEKOMMEN (im ehemaligen Fall, keine logs vorhanden sind, die entweder für die Methode).

Ich habe auch versucht LOCKE ' Ing aus dem EC2-Maschine localhost und die Anforderung effektiv geht durch die führt mich zu glauben, dass mit der Fetch-API-Anfrage wird nicht ausgelöst, an alle.

Jede Beratung wäre geschätzt. Wenn ich etwas falsch bitte zeigen Sie mich in die richtige Richtung.

  • Die url, die Sie verwenden in Ihrem browser um die Seite zu öffnen (das macht die eigentliche fetch-Anfrage)?
  • Ich bin mit der externen IP-Adresse von der EC2-Instanz (port 80), die gleiche IP-Adresse, wo die erfolgreichen Fetch-Anfrage gerichtet ist.
InformationsquelleAutor Andy | 2017-05-27
Schreibe einen Kommentar