← 전체 글로 돌아가기

웹 개발

middleware 문제를 검색해서 바로 따라 하다 막힐 때

middleware는 요청 흐름의 중간에 끼어 있기 때문에, 문제가 발생하면 로컬과 운영 환경의 차이를 먼저 의심해야 한다.

인터넷에서 미들웨어 코드를 찾아서 그대로 복사해서 붙인다. 로컬에서는 잘 작동한다. 그런데 배포하면 안 된다.

미들웨어는 웹 프레임워크의 요청/응답 사이에 끼어 있기 때문에, 문제가 생기면 디버깅이 어렵다. 에러 메시지도 명확하지 않을 때가 많다.

문제의 경계를 좁혀보기

그 미들웨어를 정말 필요로 하는가? 제거했을 때 문제가 사라지는가? 이 확인을 먼저 한다. 만약 미들웨어 없이도 같은 에러가 나면, 문제는 다른 곳에 있다.

로컬과 운영의 설정 차이

npm run build

미들웨어 설정, 라우팅 순서, 환경변수. 이 모든 게 로컬과 운영에서 다를 수 있다. 로컬에선 development 모드지만 운영은 production이고, CORS 설정도 다르고, SSL도 다를 수 있다.

한 번에 하나씩

미들웨어의 옵션을 하나씩 바꿔본다. 로그를 본다. 다시 빌드한다. 이 반복을 거쳐야 정말 뭐가 문제인지 안다.

구글에서 찾은 코드를 그대로 쓰면 위험한 이유가 이거다. 자신의 환경, 버전, 설정을 반영하지 않기 때문이다. 검색은 시작일 뿐이고, 그 다음부턴 실제 프로젝트에 맞게 조정해야 한다. 그 과정을 기록해두면, 비슷한 문제가 나올 때 처음부터 시작하지 않는다.