열심히 이력서를 만들고 주말에 이력서를 제출했다. 그리고 월요일이 되었는데...내가 만들었던 서비스에 접속이 안된다. 왜 안되지? 여태까지 잘되다가 하필 오늘 갑자기?
지원했던 회사에서 이력서를 열람했다는 알림은 날아오는데 열심히 만든 서비스에 접속이 되지 않는다니...가슴이 아팠다.
아프지만 지금은 아파할 때가 아니다. 빨리 문제를 해결해야 했다. 잘되던 서비스가 왜 갑자기 안될까?
직접 서버 도메인으로 포스트맨을 날려봐도 응답이 없었다.
바로 EC2에 접속해 Java가 잘 실행되고 있는지 확인해 봤다. 그런데 너무 잘 실행되고 있다. 로그도 살펴봤지만 별다른 문제는 없었다.
$ ps -ef | grep java
root 719534 1 0 17:24 ? 00:00:00 sudo nohup java -jar /home/ubuntu/action/server-0.0.1-SNAPSHOT.jar --spring.profiles.active=server
root 719535 719534 3 17:24 ? 00:00:28 java -jar /home/ubuntu/action/server-0.0.1-SNAPSHOT.jar --spring.profiles.active=server
ubuntu 719679 718603 0 17:39 pts/0 00:00:00 grep --color=auto java
메인화면이 아닌 다른 api url로 접근해 봤는데 아래와 같은 창이 떴다. 이제 알았다. https가 만료된거다.@#!@$!!@%$!
우리는 보안을 위해 nginx를 사용해 http 도메인과 https 도메인을 나누어 사용하고 있었다. (이렇게 하면 사용자가 원하지 않는 정보 노출을 방지할 수 있다. 또한, 서버 측에서 불필요한 리디렉션을 방지하여 웹사이트의 성능을 최적화할 수 있다. 자세한 내용은 나중에 다루자)
nginx 서버에서 https 인증서가 만료되었던 것. nginx는 내가 담당했던 파트가 아니었기 때문에 nginx를 담당했던 팀원 A에게 SOS를 날렸다. 고맙게도 팀원A는 빠르게 반응해 주셨다.
처리해야 하는 과정은 이렇다.
- 인증서를 재발급받는다.
- AWS Route53에서 TXT 레코드를 수정해 준다.
- nginx를 재실행한다.
https를 갱신하고 나니 문제없이 잘 해결됐다.
방금 급하게 해결했던 문제여서 두서없이 작성했다. 나중에 다시 제대로 다뤄봐야겠다.
빠르게 도와준 팀원A에게는 기프티콘을 보내야겠다. 고맙습니다 팀원A
좋은 결과가 있기를..