Localhost CORS 헤더 문제
적절한 CORS 헤더로 서버를 구성했음에도 불구하고 사용자는 클라이언트 스크립트에서 localhost를 원본으로 사용하는 데 어려움을 겪습니다. .
서버 구성
서버는 다음 헤더로 설정됩니다.
Access-Control-Allow-Origin:http://localhost
클라이언트 스크립트
클라이언트 스크립트는 XMLHttpRequest 개체를 사용합니다. ~에게 요청하다 'http://stackoverflow.com/'.
var xhr = new XMLHttpRequest(); xhr.onload = function() { console.log('xhr loaded'); }; xhr.open('GET', 'http://stackoverflow.com/'); xhr.send();
오류
그러나 다음 오류로 인해 요청이 실패합니다.
XMLHttpRequest cannot load http://stackoverflow.com/. Origin http://localhost is not allowed by Access-Control-Allow-Origin.
해결책
서버 구성이 나타나는 동안 맞습니다. 문제는 클라이언트 스크립트에서 'localhost'를 원본으로 사용하는 데 있습니다.
Chrome은 2014년에 "WontFix"로 표시된 버그로 인해 CORS 요청에 대해 localhost를 지원하지 않습니다.
해결 방법
이 문제를 방지하려면 다음으로 확인되는 도메인을 사용하세요. 127.0.0.1(예: 'localho.st')을 사용하거나 테스트 목적으로 '--disable-web-security' 플래그를 사용하여 Chrome을 실행하세요.
위 내용은 올바른 서버 헤더에도 불구하고 내 Localhost CORS 요청이 stackoverflow.com에 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!