공부/WEB

HTTPS -> HTTP 통신하기 [+ 크로스도메인 문제]

JangGiraffe 2017. 9. 11. 20:52

 

상황 : 홈페이지(HTTPS) 에서 외부 홈페이지(HTTP)에 Request를 주고 Response를 받아와야 하는 상황

보안정책 상 https에서 http로 통신하는 것은 블락되어 할 수 없다.

 

그래서 아래 방법을 이용해 해결했다.

1. 아이프레임으로는 안되서 팝업을 이용했다.

2. 크로스도메인의 경우에는 jquery.ajax-cross-origin.min.js를 이용해 해결했다.

3. 자식창(http)에서 부모창(https)로 엘리먼트값을 직접 수정할 수 없다. 아래의 오류가 발생한다.

원인 :Blocked a frame with origin from accessing a cross-origin frame.

해결 : https://forums.asp.net/t/2119174.aspx?Blocked+a+frame+with+origin+from+accessing+a+cross+origin+frame+

4. postMessage를 이용해 메시지 값 전달. 아래의 오류가 발생했다.

오류 : Failed to execute 'postMessage' on 'Window': 2 arguments required, but only 1 present

해결 : https://stackoverflow.com/questions/23373376/uncaught-syntaxerror-failed-to-execute-postmessage-on-window-invalid-targe?rq=1

 

반응형