well-balanced

AWS instance에서 요청/응답 타임존 문제 본문

error

AWS instance에서 요청/응답 타임존 문제

Cosmian 2020. 1. 28. 02:49

요즘 계속 AWS EC2에서 돌아가고 있는 슬랙봇 Greeny에서 버그가 발생했다. 그래서 내가 쓰고 있는 PC와 EC2 인스턴스를 비교하기 위해 동시에 서버를 실행하고 테스트를 해봤다. 결과는 역시 뭔가 이상하다.

커밋이력이 없는데 EC2 인스턴스에서는 성공메세지를 보내고 있다. 반면 내 PC에서는 올바르게 동작하는중(my mac fail)

코드도 정확히 같은 코드로 동작하고 있는데 하나는 성공 메세지를 하나는 실패 메세지를 보낸다.

왼쪽(Mac)과 오른쪽(AWS) Request header에 설정한 쿠키 역시 정확히 같다.

해결방법

AWS EC2 Instance의 localtime이 UTC0으로 설정되어 있었다.

sudo cat /etc/localtime 
TZif2UTCTZif2UTC
UTC0

그래서 Instance의 시간대를 바꿔주었다.

sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime

요청할 때 Timezone 관련 쿠키를 보내줬다고해서 응답 헤더에 무조건 반영되어 데이터가 오는 건 아닌 거 같다.
이 과정에서 좀 궁금했던 점은 stackoverflow에 올려놓았다. 빨리 답변이 달렸으면 좋겠다!

'error' 카테고리의 다른 글

웹서버에 요청시 Response Type 올바르게 지정하기  (0) 2019.12.05
Heroku Error R10 (Boot timeout)  (0) 2019.11.20
Comments