"요청한 리소스에 Access-Control-Allow-Origin 헤더가 없습니다"라는 이유
문제는 브라우저가 교차 출처 요청(CORS)을 할 때입니다. ), 브라우저는 먼저 서버에 실행 전 요청을 보내 서버가 CORS를 지원하는지 확인하고, 그렇다면 어떤 메서드, 헤더 및 출처가 허용되는지 확인합니다.
서버는 다음과 같은 실행 전 요청에 응답해야 합니다. 적절한 CORS 헤더. 서버가 필수 헤더로 응답하지 않으면 브라우저는 실제 요청을 차단합니다.
이 경우 서버는 브라우저에 다음을 알리는 Access-Control-Allow-Origin 헤더로 응답하지 않습니다. 원본이 리소스에 액세스하도록 허용됩니다.
수정 방법
이 문제를 해결하는 몇 가지 방법이 있습니다.
- 액세스 제어를 추가하세요. 실행 전 요청의 응답에 대한 Allow-Origin 헤더입니다. 이는 코드의 미들웨어를 사용하여 수행할 수 있습니다.
- 모든 출처를 허용하려면 Access-Control-Allow-Origin 헤더를 '*'로 설정하세요. 그러나 이는 보안상의 이유로 권장되지 않습니다.
- Access-Control-Allow-Origin 헤더를 응답에 추가할 수 있는 역방향 프록시를 사용하세요.
추가 참고 사항
- 특정 출처에 대해 Access-Control-Allow-Origin 헤더를 설정할 수도 있습니다. 예를 들어 https://example.com의 요청을 허용하려면 헤더를 Access-Control-Allow-Origin: https://example.com으로 설정할 수 있습니다.
- The Access-Control-Allow- 원본 헤더는 원본 간 요청에만 필요합니다. 요청이 동일한 출처에서 온 경우 브라우저는 실행 전 요청을 보내지 않으며 서버는 Access-Control-Allow-Origin 헤더로 응답할 필요가 없습니다.
위 내용은 \'No Access-Control-Allow-Origin 헤더\' 오류가 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!