2016-10-13 4 views
0

고객이 비디오 매니페스트를 설정할 수있는 웹 응용 프로그램에 양식이 있습니다. 그러나 고객이 그렇게 할 수 없다고보고하고 있습니다. 나는 아무 문제없이 내 컴퓨터에서,CORS 오류를 이해하려고 시도합니다.

XMLHttpRequest cannot load http://resource_ip:1234/index.m3u8. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://my_server_ip:1234' is therefore not allowed access.

그러나 wget http://resource_ip:1234/index.m3u8을 할 수 있습니다 자신에 의해 그것을 시도, 나는 다음과 같은 오류를 받고 있어요. 또한 다른 EC2 인스턴스에서 그렇게 할 수 있으므로 AWS의 IP 범위를 차단하지는 않는다고 생각합니다. 또한 내 컴퓨터에서 Chrome 또는 Firefox를 사용하여 매니페스트를 검색 할 수 있습니다.

그래서 이유가 무엇일까요?

+0

브라우저에서 클라이언트의 JavaScript로부터 교차 출처를 가져 오려는 경우'Access-Control-Allow-Origin' HTTP 헤더를 보내려면'http : // resource_ip : 1234/index.m3u8'의 사이트가 필요합니다 측면. CORS 제한은 웹 브라우저에 의해 클라이언트 측에 부과됩니다. 하지만'wget'은 CORS 제한을 부과하지 않으므로 브라우저에서 JavaScript에서 교차 출처를 가져 오는 것보다'wget '을 사용하여 다른 동작을 가져 오는 것이 보일 것으로 예상됩니다. – sideshowbarker

+0

@sideshowbarker하지만 내 컴퓨터에서 Firefox 또는 Chrome을 사용하여 해당 index.m3u8을 다운로드 할 수도 있습니다. – yzT

+0

직접 예, 그렇습니다. 아약스에 의해, 아니. – Clive

답변

0

좋아, 이제 알았어.

CORS는 Javascript/AJAX 요청에서 작동합니다. 그 이유는 응용 프로그램에서 오류를 수신하는 이유입니다. 그러나 브라우저 나 wget을 사용하여 리소스에 직접 액세스 할 때 나는 그렇지 않습니다.

+1

이것은 실제로 질문에 대답하지 않는 것 같습니다. 왜 JavaScript가 오류 메시지를 얻지 만 wget은 그렇지 않은지 묻는 중입니다. 그러면 대답은 "JavaScript이기 때문에"입니다. – Quentin

관련 문제