본문 바로가기

배운 거/항해99

[항해99] 79일차 - 실전프로젝트 트러블 슈팅

"대충 같은 오류 어디서 가져온 스샷"

nginx 무중단 배포를 적용하고 나서

handshake error가 생겼다.

이 때문에 websocket을 사용하는 채팅기능이 동작을 안하게 되는데.

 

현재 proxy pass 동적으로 8081포트 8082포트로 왔다갔다하는 상황.

IDLE 상태의 주소가 service-url.inc에 저장이 되고 있으므로

$service_url에서 가져오고

                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_http_version 1.1;

config에 추가해줬다.

 

이하 location /socket의 내용이 추가된 부분.

이후 채팅 기능이 정상 작동하는 거 보고 일단 안심.

 

 

그런데 자동배포에서 Allow traffic의 무한진행 오류가 나기 시작함.

그냥 codeDeploy에 연결된 ELB를 적용해제 하여서 해결했다.

Allow traffic이 어디서 무슨 검증을 거치는 과정인지

경험에 의하면 대상그룹의 health check를 통과 못하면 생기는 오류인데

대체로 deploy시 shell이 제대로 실행완료 되지않았거나

서버와의 연결이 이루어지지않았을 때 위와 같은 오류가 생겼어서

api, 직접 주소로 연결해보기, 대상그룹 상태확인 triple check을 하였으나

이상이 생긴 부분을 찾지 못했다..멀쩡한데 왜 안됐을까..

결국 stackOverflow의 질문 글에서 위와 같은 방식으로 해결한 글을 보고 적당히 위와 같이 타협봤다.

아무튼 해결.

 

"대충 어디서 가져온 서버 구조"

현재 서버 구축환경은 대충 위와 같이 생김. (server는 8081 8082 두개만 쓴다.)

 

내일 런칭인데 갈길이 아직도 먼 기분...

잘 해낼 수 있을까 걱정이 크다..

 

아무튼 남은 기간동안 열심히 해보자