CORS 헤더 생성기 | Toolypet
무료 온라인 CORS 헤더 생성기. Cross-Origin 정책 헤더를 구성하고 MCP로 자동화하세요.
이것은 무엇인가요?
CORS(Cross-Origin Resource Sharing) 헤더를 생성하는 도구입니다. 허용할 출처, 메서드, 헤더, 자격 증명 옵션을 설정하여 올바른 CORS 응답 헤더를 구성하며, 프리플라이트 요청 처리를 위한 설정도 포함합니다.
입력
https://example.com
리소스에 접근할 수 있는 출처를 추가하세요. 와일드카드(*)는 자격 증명과 함께 사용 권장하지 않습니다.
JavaScript가 응답에서 접근할 수 있는 헤더 (선택사항)
쿠키와 인증 헤더 허용. 와일드카드(*) 출처와 함께 사용할 수 없습니다.
브라우저가 프리플라이트 응답을 캐시할 수 있는 기간 (초 단위)
미리보기
CORS 설정을 구성하고 생성 버튼을 클릭하여 헤더 확인
사용 방법
허용할 출처(특정 도메인 또는 *)를 입력하고, HTTP 메서드(GET, POST, PUT 등), 허용 헤더, 자격 증명 허용 여부를 선택하세요. 프리플라이트 캐시 시간을 설정합니다. 생성된 CORS 헤더를 서버 설정에 적용하세요.
심층 분석
CORS는 Same-Origin Policy(SOP)의 안전한 완화 메커니즘입니다. SOP는 다른 출처의 리소스 접근을 기본적으로 차단하여 CSRF 등의 공격을 방지합니다. CORS는 서버가 명시적으로 허용한 출처에만 접근을 허가합니다.
프리플라이트(OPTIONS) 요청: 단순 요청(GET/POST + 특정 Content-Type)이 아닌 경우, 브라우저가 먼저 OPTIONS 요청을 보내 서버가 실제 요청을 허용하는지 확인합니다. Access-Control-Max-Age로 프리플라이트 응답을 캐시하여 추가 왕복을 줄일 수 있습니다.
Access-Control-Allow-Origin: *과 Access-Control-Allow-Credentials: true는 동시에 사용할 수 없습니다. 자격 증명(쿠키, Authorization 헤더)을 포함하는 요청에서는 와일드카드 대신 정확한 출처를 지정해야 합니다. 여러 출처를 허용하려면 서버에서 요청의 Origin 헤더를 확인하고 동적으로 응답해야 합니다.
일반적인 CORS 실수: 1) 개발 중 '*'를 사용하고 프로덕션에서 변경 안 함 2) 프리플라이트 캐시를 설정하지 않아 매 요청마다 OPTIONS 발생 3) Access-Control-Expose-Headers를 설정하지 않아 커스텀 응답 헤더를 읽지 못함 4) Origin 검증 시 부분 문자열 매칭으로 우회 가능(evil.example.com이 example.com을 포함).
예시
- 개발 환경: localhost:3000에서 API 서버로의 CORS 허용
- 프로덕션 API: 특정 프론트엔드 도메인만 허용하는 엄격한 CORS 설정
- 공개 API: 모든 출처에서 GET 요청을 허용하는 공개 API 설정
- 자격 증명 포함: 쿠키 기반 인증을 위한 credentials 설정 포함 CORS
- OPTIONS 요청을 최소화하기 위한 긴 프리플라이트 캐시가 포함된 CORS 설정 생성
Toolypet MCP 서버 설치
하나의 명령어로 AI 에이전트에 Toolypet 도구를 추가하세요. Claude Desktop, Claude Code, Cursor 및 모든 MCP 호환 클라이언트에서 사용 가능합니다.
빠른 시작
npx -y @toolypet/mcp-server@latest
MCP 클라이언트 설정
{
"mcpServers": {
"toolypet": {
"command": "npx",
"args": [
"-y",
"@toolypet/mcp-server@latest"
]
}
}
}도구 이름:
mcp__toolypet__cors_header_generator프롬프트 예시
Generate CORS headers allowing requests from https://example.com with GET and POST methods
입력 예시
{
"origins": [
"https://example.com"
],
"methods": [
"GET",
"POST"
],
"headers": [
"Content-Type",
"Authorization"
],
"credentials": true,
"maxAge": 3600
}출력 예시
{
"headers": {
"Access-Control-Allow-Origin": "https://example.com",
"Access-Control-Allow-Methods": "GET, POST",
"Access-Control-Allow-Headers": "Content-Type, Authorization",
"Access-Control-Allow-Credentials": "true",
"Access-Control-Max-Age": "3600"
}
}자주 묻는 질문
- CORS 오류가 발생하는 이유는 무엇인가요?
- 서버가 적절한 CORS 헤더를 응답에 포함하지 않기 때문입니다. 브라우저는 응답의 Access-Control-Allow-Origin이 요청 출처와 일치하지 않으면 응답을 차단합니다. 서버 측에서 CORS 헤더를 설정해야 합니다.
- Access-Control-Allow-Origin: *이 위험한가요?
- 공개 API에는 괜찮지만, 인증이 필요한 API에는 위험합니다. '*'는 자격 증명 포함 요청에 사용할 수 없으며, 모든 출처에서 API를 호출할 수 있게 합니다. 인증이 필요한 엔드포인트에는 특정 출처를 지정하세요.
- 프리플라이트 요청을 어떻게 줄이나요?
- Access-Control-Max-Age 헤더를 설정하여 프리플라이트 응답을 캐시하세요(예: 86400초 = 24시간). 가능하면 단순 요청(GET + application/x-www-form-urlencoded)을 사용하세요.
- CORS는 서버 보안을 제공하나요?
- 아닙니다. CORS는 브라우저 정책입니다. curl이나 서버 간 요청에서는 CORS 제한이 적용되지 않습니다. CORS는 사용자의 브라우저에서 악의적인 스크립트가 API를 호출하는 것만 방지합니다. 서버 측 인증/인가는 별도로 필요합니다.
- 여러 출처를 허용하려면 어떻게 하나요?
- Access-Control-Allow-Origin은 단일 값만 허용합니다. 서버에서 요청의 Origin 헤더를 확인하고, 허용 목록에 있으면 해당 출처를 동적으로 응답에 설정하세요. Vary: Origin 헤더도 함께 설정하여 캐시 문제를 방지하세요.
- Claude/Cursor에서 이 도구를 어떻게 사용하나요?
- AI 에이전트 설정에 'npx -y @toolypet/mcp-server@latest'로 Toolypet MCP 서버를 추가하세요. 그런 다음 AI에게 cors_header_generator 도구를 origin, methods, headers, credentials 파라미터와 함께 사용하도록 요청하세요.
- MCP란 무엇이며 Toolypet은 왜 지원하나요?
- MCP(Model Context Protocol)는 Claude나 Cursor 같은 AI 에이전트가 외부 도구를 사용할 수 있게 하는 개방형 표준입니다. Toolypet은 MCP를 지원하여 65개 이상의 모든 도구를 브라우저와 AI 에이전트 모두에서 사용할 수 있게 하며, 계산과 작업을 AI 워크플로우에 원활하게 통합합니다.