>  기사  >  웹 프론트엔드  >  \"원본은 Access-Control-Allow-Origin에 의해 허용되지 않습니다\" 오류를 해결하는 방법은 무엇입니까?

\"원본은 Access-Control-Allow-Origin에 의해 허용되지 않습니다\" 오류를 해결하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-19 09:36:29676검색

How to Resolve the

"Origin is Not Allowed by Access-Control-Allow-Origin" 오류 이해

다른 출처에서 리소스에 액세스하려고 할 때( 예를 들어, 도메인, 포트) "원본은 Access-Control-Allow-Origin에 의해 허용되지 않습니다" 오류가 발생할 수 있습니다. 이 오류는 보안상의 이유로 교차 출처 요청을 제한하는 브라우저의 동일 출처 정책에서 발생합니다.

특정한 경우 localhost:8080의 요청은 서버 호스팅의 교차 출처 액세스가 허용되지 않습니다. gdata.youtube.com. 코드 조각은 서버에 대한 XMLHttpRequest를 만들려고 시도하지만 서버의 Access-Control-Allow-Origin 헤더가 원본의 요청을 허용하도록 설정되지 않았습니다.

오류 원인:

  • 일치하지 않는 출처: 교차 출처 요청은 출처가 동일한 경우에만 허용됩니다(예: http://example.com이 http://example.com에서 요청).
  • 포트 차이점: 서로 다른 포트(예: example.com:81에서 요청하는 example.com:80)는 서로 다른 출처로 간주됩니다.
  • CORS 헤더가 설정되지 않음: 서버는 Access-Control-Allow를 명시적으로 설정해야 합니다. -교차 출처 요청을 활성화하기 위해 허용된 출처가 있는 출처 헤더.

해결책:

이 오류를 해결하려면 다음 해결 방법을 고려하십시오.

  • 서버에서 CORS 구성: 서버는 허용된 출처(예: Access-Control-Allow-Origin: http:// localhost:8080).
  • JSONP 사용: JSONP(JSON with Padding)는 콜백 함수를 사용하여 교차 출처 요청을 처리하는 기술입니다. 서버는 콜백 함수에 캡슐화된 데이터를 반환하여 브라우저가 이를 실행할 수 있도록 합니다.
  • 서버측 프록시 사용: 서버측 프록시(예: PHP, ASP)는 다음과 같은 역할을 할 수 있습니다. 브라우저와 원격 서버 사이의 중개자. 프록시는 원격 서버에 요청을 보내고 CORS 헤더를 처리하여 브라우저가 데이터에 액세스할 수 있도록 합니다.

위 내용은 \"원본은 Access-Control-Allow-Origin에 의해 허용되지 않습니다\" 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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