티스토리 뷰
개요
Nextjs 에 자체 내장된 서버사이드를 이용해서 api 를 만들었는데 해당 api 를 사용시에 cors 가 발생하는 문제가 있습니다.
해결방법으로 next.config.js 와 middleware 를 이용한 방법이 있는데, 필자는 config 에 선언한게 좀 더 직관적이여서 config 에 사용했음.
하지만, 두가지 다 알려드리도록 하겠습니다.
next.config.js 를 이용한 방법
cors 를 config.js 에서 하면 객체 형식으로 관리하기 떄문에 좀 더 관리하는데 직관적인 장점이 있습니다.
// next.config.js
const nextConfig = {
async headers() {
return [
{
source: "/api/:path*",
headers: [
{
key: "Access-Control-Allow-Origin",
value: "*",
},
{
key: "Access-Control-Allow-Methods",
value: "GET, POST, PUT, DELETE, OPTIONS",
},
{
key: "Access-Control-Allow-Headers",
value: "Content-Type, Authorization",
},
],
},
];
},
}
module.exports = nextConfig
middleware 를 이용한 방법
// middleware.ts
import { NextResponse } from 'next/server'
import type { NextRequest } from 'next/server'
export function middleware(request: NextRequest) {
const response = NextResponse.next()
response.headers.set('Access-Control-Allow-Origin', '*')
response.headers.set('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS')
response.headers.set('Access-Control-Allow-Headers', 'Content-Type, Authorization')
return response
}
// 특정 경로에만 적용하고 싶다면
export const config = {
matcher: '/api/:path*',
}
'개발.. > Nextjs' 카테고리의 다른 글
Nextjs15 로 마이그레이션 하기 (7) | 2024.11.12 |
---|---|
Nextjs14 에서 @next/third-parties 를 이용하여 GTM, GA 적용하기 (0) | 2024.10.21 |
Nextjs14 에서 서버, 클라이언트에서 URL 가져오는 방법 (0) | 2024.10.18 |
Nextjs 에서 서버 간 통신 (서버 to 서버) 할 때 경로 관리 주의사항 (0) | 2024.09.20 |
Nextjs14 app 기반 폴더/라우팅 구조 만들기 (0) | 2024.08.27 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 티스토리챌린지
- nuxt2
- NUXT
- nextjs14
- nextjs13
- 서버 to 서버
- nodejs
- 타입스크립트
- vue router
- 네이버 서치 어드바이저
- 오블완
- ChatGPT
- vue composition api
- webpack
- svelte
- 스벨트
- Vite
- dockerfile
- Git
- openAI
- seo
- cors
- NextJS
- Github Actions
- React
- AWS
- vscode
- nextjs15
- 깃허브
- Zustand
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함