파일명은 middleware.ts으로 사용되야 하고 위치는 루트(/) 위치 즉 package.json 파일 위치와 같아야 한다.
import { NextResponse } from "next/server";
// the list of all allowed origins
const allowedOrigins = [
'http://localhost:3011',
];
export function middleware(req: any) {
// retrieve the current response
const res = NextResponse.next()
// retrieve the HTTP "Origin" header
// from the incoming request
let origin = req.headers.get("origin")
// if the origin is an allowed one,
// add it to the 'Access-Control-Allow-Origin' header
if (allowedOrigins.includes(origin)) {
res.headers.append('Access-Control-Allow-Origin', origin);
}
// add the remaining CORS headers to the response
res.headers.append('Access-Control-Allow-Credentials', "true")
res.headers.append('Access-Control-Allow-Methods', 'GET,DELETE,PATCH,POST,PUT,OPTIONS')
res.headers.append('Access-Control-Allow-Headers', 'Origin, X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version, Authorization')
return res
}
// specify the path regex to apply the middleware to
export const config = {
matcher: '/api/:path*',
}
|
'일상생활' 카테고리의 다른 글
프론트엔드 AI v0dev (0) | 2023.10.04 |
---|---|
인터넷 브라우저 크롬 엣지 파일 다운로드시 탐색기 늦게 열리는 증상 해결 방법 (0) | 2023.09.12 |
2023년 Google Workspace를 위해서 Amazon ROUTE53에 메일 서버 등록 방법 (0) | 2023.06.16 |
시놀로지 https SSL 서버 설정하기(NodeJS 서버도 가능) (0) | 2023.04.24 |
Soocas Spark 수카스 스파크 전동칫솔 비추 (0) | 2023.04.04 |