>  기사  >  백엔드 개발  >  \"No Access-Control-Allow-Origin 헤더\" 오류가 표시되는 이유는 무엇입니까?

\"No Access-Control-Allow-Origin 헤더\" 오류가 표시되는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-02 06:02:29414검색

Why Am I Seeing the

"요청한 리소스에 Access-Control-Allow-Origin 헤더가 없습니다"라는 이유

문제는 브라우저가 교차 출처 요청(CORS)을 할 때입니다. ), 브라우저는 먼저 서버에 실행 전 요청을 보내 서버가 CORS를 지원하는지 확인하고, 그렇다면 어떤 메서드, 헤더 및 출처가 허용되는지 확인합니다.

서버는 다음과 같은 실행 전 요청에 응답해야 합니다. 적절한 CORS 헤더. 서버가 필수 헤더로 응답하지 않으면 브라우저는 실제 요청을 차단합니다.

이 경우 서버는 브라우저에 다음을 알리는 Access-Control-Allow-Origin 헤더로 응답하지 않습니다. 원본이 리소스에 액세스하도록 허용됩니다.

수정 방법

이 문제를 해결하는 몇 가지 방법이 있습니다.

  1. 액세스 제어를 추가하세요. 실행 전 요청의 응답에 대한 Allow-Origin 헤더입니다. 이는 코드의 미들웨어를 사용하여 수행할 수 있습니다.
  2. 모든 출처를 허용하려면 Access-Control-Allow-Origin 헤더를 '*'로 설정하세요. 그러나 이는 보안상의 이유로 권장되지 않습니다.
  3. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.