환경
A Spring 프로젝트의 iframe에서 B Spring 프로젝트의 화면을 호출한다.
<iframe id="mainExternalFrame" src="B 프로젝트 화면 url"> </iframe>
에러 현상
iframe에서 페이지가 나타나지 않고 Refused to display '' in a frame because it set 'X-Frame-Options' to 'sameorigin' 오류가 나타난다.
해결
- 보안을 위하여 다른 사이트에서 로드할 때 허용 범위가 지정되어 있다.
- 호출하는 사이트(A 프로젝트)는 호출 당하는 사이트(B 프로젝트)에서 막은거라 할 수 있는 일은 없다.
- 호출 당하는 사이트(B 프로젝트)에서 X-Frame-Options 설정을 해준다.
- DENY: 시도하는 사이트에 관계없이 페이지를 프레임에 표시 X
- SAMEORIGIN: 페이지는 모든 조상 프레임이 페이지 자체와 동일한 출처인 경우에만 표시
- 호출당하는 입장인 B 프로젝트에서 응답 헤더에 X-Frame-Options를 세팅해서 보내주어야 한다.
- httpResponse.setHeader("X-Frame-Options", "allow-from A프로젝트 IP주소:포트번호");
httpResponse.setHeader("X-Frame-Options", "allow-from http://localhost:8080");
'Error' 카테고리의 다른 글
request.getRemoteAddr() 했을 때 IP가 아닌 0:0:0:0:0:0:0:1 출력 (0) | 2023.08.28 |
---|---|
[Web🌐] Several ports (8005, 8080) required by Tomcat... (0) | 2023.08.07 |
[Web🌐] ambiguous mapping. cannot map '' method (0) | 2023.05.15 |
[Oracle] ORA-27101: shared memory realm does not exist (0) | 2023.05.03 |
[Web🌐] 클라이언트/서버 Response Header 불일치 오류 (0) | 2023.05.03 |