[WebtoB/Tmax] WebtoB/Tmax 환경에서 자바스크립트 페이지 이동(location.href) 동작하지 않는 문제
WebtoB/Tmax 오류라고 하기는 어려운 문제이지만, 트러블 슈팅으로 며칠을 끌었던 문제이기에 여기에 기록해둠.
Apache/Tomcat 서버 구성에서 잘 동작하던 웹 어플리케이션을 WebtoB/Tmax 구성으로 변경했을 때 문제가 생겼음.
처음으로 인지했던 문제는, 첫화면에 해당하는 jsp 페이지가 하얗게 나오는 현상이었음.
여러가지 테스트 결과 웹 브라우저 주소창에 피지컬하게 주소를 입력하면 페이지가 보이지만, 자바스크립트(javascript, js) 단의 페이지 이동(location.href) 코드가 동작하지 않는 문제였음.
정확히 얘기하면 location.href = “http ://도메인주소:포트/test/page.jsp” 이러한 코드는 동작하는데, 도메인을 빼고 location.href = “/test/page.jsp” 라고 쓰여져 있는 경우 페이지 이동이 되지 않는 문제였음.
첫화면에 해당하는 jsp 페이지가 하얗게 나온 이유도, 해당 페이지가 로드되자마자(window.onload) location.href 코드를 사용하기 때문이었음.
WAS 엔지니어들도 자기들 문제가 아니라고 하면서 해결하지 못했음.
결국 며칠 동안 수정하지 못했던 이 문제는 다른 업체의 웹 어플리케이션에서도 동일한 현상이 재현되면서 해결됨.
WebtoB 설정을 고치면 되는 문제였음.
WebtoB 환경설정 파일인 http.m 파일에서 Headers 라는 부분을 주석처리하면 해결되었음.
아마도 도메인이 들어있지 않은 location.href 코드를 보안에 문제있는 코드로 인식한 것 같음.

http.m 파일
[AS-IS]
Headers = “security,X-XSS,X-Content,strict,X-Download”,
[TO-BE]
#Headers = “security,X-XSS,X-Content,strict,X-Download”,
아마 Headers 에 적혀있는 값 전부가 문제가 되진 않을 것 같음.
한 개 정도가 문제가 될테니 몇 개를 빼고 넣으면서 테스트해보면 알아냈을테지만, 운영 환경이고 그렇게까지 테스트할 상황이 안된다고 했기 때문에 Headers를 전체 주석처리 하였음.
이후 자바스크립트의 location.href 코드가 정상적으로 잘 동작함.
WAS 엔지니어도 모르는 현상이라고 하고, 고치고 나서도 모르겠다고 하는걸 보면 잘 알려지지 않은 속성들 같음.
끝.