본문 바로가기

전체 글27

[body-parser] 게이트웨이 서버와 body-parser 그리고 raw-body 최근 회사에서 유저 인증과 게이트웨이 역할을 하는 인증 게이트웨이 서버를 사용했다. 간단하게 설명하면 인증 게이트웨이 서버는 로그인을 하는 역할을 하며 동시에 로그인이 된 유저는 특정 endpoint로 요청을 하고 해당 요청을 원하는 endpoint로 중계해 주는 역할을 하는 서버이다. API연동을 하는 도중 프론트팀에서 GET요청에 대해서는 문제없이 동작하는데 POST, PUT이 동작을 안 한다는 것이었다. 특정 에러 코드도 없이 그냥 pending 걸리다가 timeout이 났다. 서버쪽 로그를 확인해 봐도 이상이 없었다. 진짜 도저히 모르겠어서 팀장님께 말씀드려보니 아 그거 body-parser에서 문제 있는 거 아니에요? 하셨다. body-parser? 왜지..? 하다가 오류를 수정하기 위해 찾아본.. 2023. 6. 25.
[passport] passport req에 따라 다르게 처리하기 Bearer 문서 보다가 답답해서 모듈 까보기 회사에서 업무를 하던중 passport bearer 전략을 사용하면서 req에 따라 2가지의 다른 인증 방법을 사용해야 하는 경우가 발생을 했다. 요구사항 간단하게는 API서버에 request 하는 하는 주체가 인증서버를 통하고 들어오는 요청이 있고, 인증 서버를 거치지 않고 요청이 들어오는 2가지의 경우가 있는데, 여기서 둘 다 bearer 토큰을 사용하고 있으나, 특정 인증서버를 타고 들어오는 요청과 인증서버를 타지 않는 요청을 구분해서 다른 인증 로직을 구현해야 했다. 아래는 passport.org에 나와있는 bearer 사용방법에 대한 설명이다. // Bearer 전략 등록 passport.use(new BearerStrategy( function(t.. 2023. 6. 25.
2022년 회고 2022년도 오늘이 마지막날입니다. 2022년도를 다시 한번 돌아보고 2023년을 맞이하면 어떨까 하고 회고를 해볼까 합니다. 2022년 개발 회고가 아닌 2022년 회고이기 때문에 개발 외적으로 개인적인 회고도 해보려고 합니다. 개발자로서 목표를 가졌어야 했다 2022년을 맞이하면서 개발자로서 어떻게 한 해를 보낼지 어떤 걸 이루고 싶은지 목표를 세워두고 한해를 맞이했어야 했는데, 막연하게 좋은 개발자가 되고 싶다, 성장하고 싶다는 생각으로 한해를 맞이하다 보니 주먹구구식으로 이거 좀 공부하다가 저거 좀 공부하다가 찍먹을 많이 했습니다. 물론 찍먹도 어느 정도 도움이 될 것이라고 생각하지만 그래도 목표를 세우고 한해를 지냈으면 더욱 좋지 않았을까 합니다. RDS: Real Mysql JS: 모던 자바스.. 2022. 12. 31.
AWS elasticBeanstalk 성능 향상기(2) - 성능 향상을 하는 방법 이전글에서 성능 향상을 하게 된 이유에 대해서 이야기해보았습니다. 이번에는 직접적으로 성능 향상을 하는 방법에 대해 이야기해보려 합니다. 에러는 왜? 수정을 하기 위해서는 왜 문제가 발생했는지를 알아야합니다. 이전 내용을 잠시 다시 떠올려보겠습니다. 내부 로컬 포트간의 통신도 TCP통신을 해야한다. TCP통신을 통해 데이터를 전송하고 연결을 끊는 작업중 TIME_WAIT에 걸려서 소켓을 원할하게 사용할 수 없다. TCP통신을 위해 한번 연결 후 해당 연결을 다시 사용하지 않아서 문제가 발생한다. 위의 문제를 해결하는 방법은 이제 얼추 추론이 가능합니다. TCP연결을 재사용한다!! 한번 연결을 맺어놓고 다시 사용하면 TIME_WAIT이 많이 걸리지 않을것입니다. TIME_WAIT 해결하기 TIME_WAIT.. 2022. 12. 30.