일은.. 2월 초.. 신입 분에게 젠킨스 배포를 부탁드리고
열심히 쌓아올린 프레임워크로 새로 WMS 페이지를 밀어내던 나는 위기에 봉착한다
"저.. 현석 씨.. wms/ams가 작동하질 않아요.."
순간 등골이 서늘해지면서 내적갈등이 시작된다
'뭐지..? 신입분이 프론트 폴더를 싹 날리신 건가..?'
'아니다 nginx conf파일을 체크 안 하시고 바로 systemctl restart 때리신 건가..?'
일단 급한 대로 putty를 바로 켜서 사내서버 들어가 본 뒤 차례대로
nginx -t를 작동시켜 본다.. 정상이다
'아 이건 아닌데'
도메인들 핑 때리니 잘 나오고 홈페이지 들어가서 로그창을 대충 보니 아마 접근 권한이 없나 보다
'아니.. 권한이 왜 날아가있는 거지 ;; root나 nginx로 저번에 줘 놨던 걸로 기억하는데..'
급하게 프론트파일을 모아둔 폴더 가서 ls -al치니 아니나 다를까 웬 이상한 사용자명에 폴더가 assign 되어있다
아니 대체.. 하면서 history 쳐보니 아니나 다를까 chown -R로 이상한 유저를... 흑흑...
급한 대로 nginx를 줘보니 잘 돌아가서 일단락..
그렇게 오전이 끝나고 점심을 먹고 난 뒤 무아지경으로 다시 WMS본수를 2시간에 하나씩 치고 있을 무렵
공포스러운 콜이 또 들어온다
"저.. 현석 씨.. 사내 git이랑 chat이 작동을 하지 않아요.."
이번에는 정말 아무것도 건드리질 않았다 한다
실제로 커맨드 히스토리 뽑아보니 진짜 별 것 하지 않은 상태고..
뭐가 문제지 하면서 홈페이지를 다시 켜보니 막상 내가 참고하던 ams/wms는 또 잘 들어가진다
'아니 왜 이래 이거'
라고 문득 눈앞을 스치는 크롬 주소창..
그냥 인증서가 만료된 상태였다
신입 분에게는 "ㅋㅋ 인증서가 나갔네요 타이밍 정말 죽여줍니다"
하고.. 별 것 아니지! 하면서 certbot renew를 쳤는데..
아니나 다를까 와일드카드에서 에러를 뿜뿜 하면서
"ㅋㅋ 님 와일드카드 쓰심? 으으으디서 오토로 갱신하려고 !!"
"저리 가고 매뉴얼로 다시 갱신하세용 ^^"
당장 갱신 하기에는 도메인 계정을 대표명의로 된 계정에 있으니..
대표님 카톡으로 일단
" 대표님.. 서버 홈페이지 인증서 만료되어서 갱신하려 하니
와일드카드는 수동으로 재인증하라네여..
오늘 오시면 도메인 계정 좀 받을 수 있을까요.. "
하고 30분 뒤쯤인가 대표님이 오시더라
까먹으신듯해서 말하니 바로 호스팅케이알 계정 주셔서 냅다 manual로 다시 갱신하고
nginx에 새로 생성된 ssl경로로 바꿔주고
(만료되어서인지 아니면 중간에 --force질을 해서인지.. 여하튼 0002번으로 새로 생성된 인증서 파일들..)
그렇게 사건이 종료되나 했더니만 마칠 때 쯔음.. 신입분의 버스터콜이 이어진다
"저.. 현석 씨 git push가 안 먹혀요.."
동시에 대표님도 " 현석 씨 우리 사내 채팅 서버가 안된다!! "
하..
" 오케이 일단 인증서는 아니고 " << 실제로 사내 git 로그인은 또 됨
" 깃 컨테이너도 잘 돌아가고 있고 " << compose파일 찾아서 restart 여러 번 함
" 다운로드..." <<< 여기서 막혀있는 상태
아!! 이거다!! 하고 다운로드가 막혀있는데 도저히 감이 잡히지가 않는다
막연하게 SSL인증서를 바꾸고 나서 난 오류이기에 모든 정신을 nginx conf파일에 몰두하고
답을 찾던 도중..
어딘가의 스택오버플로우의 은인의 질문과 답변이 눈에 보인다
"님들 저 리버스 프록시로 가는 서버에서의 다운로드가 불가능한데요;;"
"ㅋㅋ 님 nginx로그는 찍어 보셨나요?"
"아"
진짜 뒤통수 씨게 한대 후려 맞은 느낌으로 부랴부랴 var/log/nginx 경로로 가서 vim으로 열어본다
"오 ! ㄴㄴ 못들어옴 엑세스 거부요 ㅎㅎ 으으으딜 들어오려고"
"오 ! ㄴㄴ 못들어옴 엑세스 거부요 ㅎㅎ 으으으딜 들어오려고"
"오 ! ㄴㄴ 못들어옴 엑세스 거부요 ㅎㅎ 으으으딜 들어오려고"
"오 ! ㄴㄴ 못들어옴 엑세스 거부요 ㅎㅎ 으으으딜 들어오려고"
ㅎㅎㅎㅎ....
이게 리버스 프록시로 포트 쪽으로 돌리던 도메인들이 다 문제였는데
알고 보니 temp폴더의 권한이 없다 한다
권한 찍어보니 이유는 모르겠지만 temp로 접근하는 권한이 아예 없었고..
홧김에 chmod -R 777로 냅다 폴더 싹 전체공개 해버리고 해당 문제를 끝냈다
그렇게 끝나고 시계를 보니 9시.. 화는 머리끝까지 올라왔지만 별 수가 있는가..
이거 해결할 사람이 나뿐인데..
대표는 문서 쓴다고 바쁜데.. 신입에게 주기에는 너무 가혹하고..
이렇게 하루가 끝났다
등골은 서늘했고 멘탈은 탈탈 털리고.. 왜 나에게는 사수가 없나 하늘에 한탄하며 하루를 끝냈다
결론적으로 nginx의 리버스 프록싱의 방법을 눈으로 확인할 수 있는 귀중하고도 화나는 경험이었고
(리버스 프록시는 nginx가 한 번 캐싱해서 그걸 다시 서버에 뿌린다는 것을 이번에 처음 알았다;;)
신입에게는 웃으면서 " ㅎㅎ 권한이 박살 났었네요 진귀한 경험 했습니다 "로
웃어넘겼지만 앞으로 더 잘 보살펴야겠다 생각하게 된 하루였고..
의도치 않게 서버 지식이 늘어나는 나를 보며 "흑흑 나 녀석 오늘도 잘 크고 있구나"를 느끼게 된 하루였다
뭐.. 2월을 마지막으로 이 회사는 나가게 되지만 이건 나중의 일기로 나올 이야기
서늘한 하루 끝.
'프로그래밍' 카테고리의 다른 글
[BCrawler] 특가를 크롤링 해서 모아서 보자 (0) | 2024.05.19 |
---|---|
[BIcon] Next js 로 Badge 생성기를 만들어보자 feat. ImageResponse (0) | 2024.02.09 |
[개인서버] 서버 통합 및 마이그레이션을 해보자 - 준비 (2) | 2024.01.14 |
[DBeaver] 맥용 dbeaver에서 mysql dump를 해보자 (0) | 2023.12.30 |
:: 11월.. 로드맵.. (0) | 2022.11.03 |