2017-02-20 3 views
2

ich diese URL zuzugreifen versuchen angular2 cli verwenden, aber die Zugriffskontrolle immer FehlerAngular2 Einstellung Proxy nicht

http://safety.trucksafetyinspection.co.ke/rest/v1/new/profile?access-token=my-token 

Ich habe eine proxy.config.json Datei als

{ 
    "/rest/v1/*":{ 
     "target":"http://safety.trucksafetyinspection.co.ke", 
     "secure":false, 
     "logLevel":"debug" 
    } 
} 

Aber noch eine Störung erhalten hinzugefügt von

No Access-Control-Allow-Origin' header is present on the requested resource. Origin 

im package.config.json

"scripts": { 
    "ng": "ng", 
    "start": "ng serve --proxy-config proxy.config.json", 
    }, 

So nach ng build oder npm start oder sogar ng serve Uhr noch diesen Fehler. Was könnte falsch sein?

UPDATE: Das Backend ist in yii2 und ive Setup cors Filter als

public function behaviors() 
{ 
    return [ 
    'corsFilter' => [ 
     'class' => \yii\filters\Cors::className(), 
     'cors' => [ 
      // restrict access to 
      'Origin' => ['*'], 
      'Access-Control-Request-Method' => ['POST', 'PUT','OPTIONS','GET'], 
      // Allow only POST and PUT methods 
      'Access-Control-Request-Headers' => ['X-Wsse'], 
      // Allow only headers 'X-Wsse' 
      'Access-Control-Allow-Credentials' => true, 
      // Allow OPTIONS caching 
      'Access-Control-Max-Age' => 3600, 
      // Allow the X-Pagination-Current-Page header to be exposed to the browser. 
      'Access-Control-Expose-Headers' => ['X-Pagination-Current-Page'], 
     ], 

    ], 
]; 
} 
+0

Wenn Sie Wenn Sie hinter einem Unternehmens-Proxy arbeiten, funktioniert die reguläre Back-End-Proxy-Konfiguration nicht, wenn Sie versuchen, Anrufe an eine beliebige URL außerhalb Ihres lokalen Netzwerks zu leiten. Wenn dies der Fall ist, versuchen Sie, Corporate Proxy https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/using-corporate-proxy.md statt – Set

+0

verwenden Sie sehen, Proxy erstellt : ... 'Meldung in Protokollen nach dem Aufruf von' npm start'? – Set

+0

was ist während des Builds, wenn ich Build und Bereitstellung auf Shared-Hosting dies auch scheitert –

Antwort

0

das klingt nicht wie ein Proxy-Fehler zu mir. Das klingt nach einem Cross-Origin-Problem (CORS). Dies geschieht, wenn die src-Domäne für bestimmte Browseranforderungen nicht mit der Zieldomäne übereinstimmt.

z.B. src Domain ist woogle.com ABER dest Domäne ist noogle.com

Sie haben zwei Möglichkeiten, entweder erhalten Sie Ihren Web-Server-Anforderungen neu zu schreiben

ODER

Access-Control-Header zu Ihrem Backend-Server hinzufügen. Diese Header definieren, falls vorhanden, welche OTHER-Domänen Anfragen an Ihren Server senden können.

Zum Beispiel ..

Access-Control-Allow-Origin: http://foo.example 
Access-Control-Allow-Methods: POST, GET, OPTIONS 
Access-Control-Allow-Headers: X-PINGOTHER, Content-Type 
Access-Control-Max-Age: 86400 

Wie diese Header auf dem Server ab, ob seine Knoten Express, Apache, nginx, etc

https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS für weitere Details zu sehen hängt gesetzt

Verwandte Themen