2017-02-20 1 views
2

내가 angular2 CLI를 사용하여이 URL에 액세스하려고하지만Angular2 설정 프록시는

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

proxy.config.json 파일을 추가 한

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

액세스 제어의 오류가 발생하지만 여전히 오류가 받고 있어요 실패

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

package.config.json에서

또는 npm start 또는 ng serve 오전이 오류가 계속지고 그래서 후 16,
"scripts": { 
    "ng": "ng", 
    "start": "ng serve --proxy-config proxy.config.json", 
    }, 

. 무엇이 잘못 될 수 있습니까?

UPDATE : 백엔드는

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

당신이 만약 기업의 프록시 뒤에서 작업 할 경우 로컬 네트워크 외부의 모든 URL로 프록시를 호출하려고하면 일반 백엔드 프록시 구성이 작동하지 않습니다. 이것이 사실 인 경우 기업 프록시 https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/using-corporate-proxy.md 대신 – Set

+0

을 사용하려고 시도하십시오. '프록시 생성 :'...''npm start'를 호출 한 후 로그에 메시지가 있습니까? – Set

+0

빌드 도중 빌드를하고 공유 호스팅에 배포하는 경우에도 실패합니다. –

답변

0

이 나에게 프록시 오류 같은 소리하지 않는 yii2와 필자 설정 고르 필터입니다. 이것은 교차점 (CORS) 문제와 같습니다. 이것은 src 도메인이 특정 브라우저 요청의 dest 도메인과 같지 않을 때 발생합니다.

SRC 도메인은 woogle.com입니다하지만 이명 령 도메인은 두 가지 옵션이 있습니다, 하나 백엔드 서버에 액세스 제어 헤더를 추가 요청

또는

를 다시 작성하는 웹 서버를 얻을 수있다 noogle.com

. 이러한 헤더가있는 경우, 서버에 요청할 수있는 다른 도메인을 정의합니다. 예를 들어

.. 이러한 헤더가 있는지 여부에 따라 달라집니다 서버에 설정하는 방법

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 

의 노드 익스프레스,

은 자세한 내용은 https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS를 참조 등 아파치, Nginx에,