회원가입, 로그인 후 홈으로 redirect될 때, alert에 메시지가 뜨지 않는 문제가 발생했다.
로컬에서 문제없이 작동했고, EC2 원격 톰캣에 배포 후에도 정상 작동함을 확인했는데, 어느 순간 메인 페이지로 redirect시 alert가 뜨지 않았다.
처음에는 script의 문제라고 생각해서 script를 window.onload 등을 추가해 처리해보았지만, 문제가 해결되지 않았다.
nginx로 reverse proxy를 설정했기에 혹시 proxy문제일까 싶어서
access.log를 확인했음
-> 알 수 없는 IP로부터 main페이지로 get요청이 온다.
reverse proxy가 문제인지 확실히 하기 위해 8080포트로 직접 접속해보아도 동일한 문제가 발생.
원격 톰캣의 로그를 확인함
-> redirect는 정상적으로 이루어지고, controller에서 redirectAttribute를 이용해 flashAttribute로 보낸 attribute도 index controller의 model안에 잘 담기는 것이 확인됨.
문제는!! 직후에 원격에서만 index.do로 한 번 더 get요청이 간다는 것. 그래서 model에 담긴 flashAttribute가 새로운 get요청에 의해 빈 model로 대체되고 아무 alert도 뜨지 않았던 것이었다.
코드 상에 referer를 추가해서 확인해보았다.
문제 상황 정리
결국 코드 상의 문제가 아니라 네트워크 상의 어떠한 문제인 것 같은데, 아직 해결보지 못하고 ing상태이다................