해결법은 무척 간단하다. 미들웨어에 public디렉토리를 거치지 않도록 설정해 주면 된다.
처음에 middleware를 내가 설정한 게 아니라 생각을 못 하고 next.js 관련된 이슈를 찾으려 했는데 나와 똑같은 문제를 올려둔 next-auth
의 깃허브 이슈를 발견했다.
웃긴 게 제목이 내 상황과 100%로 일치ㅋㅋㅋㅋㅋㅋ
나도 헤더 컴포넌트를 수정하는데 로고 이미지가 로그인이 된 상태에서는 잘 나오는데 로그아웃만 하면 이미지가 나오지 않았고 확인해 보니 응답이 307이 뜨고 있었다.
깃허브 이슈에서는 이미지 파일을 추가하라는데 나는 public 디렉토리를 추가해 줬다.
export const config = {
matcher: [
/*
* Match all request paths except for the ones starting with:
* - public
* 미들웨어를 거치지 않는 경로들
*/
'/((?!public|$).*)',
],
};