summaryrefslogtreecommitdiff
path: root/app/api/test/headers/route.ts
diff options
context:
space:
mode:
Diffstat (limited to 'app/api/test/headers/route.ts')
-rw-r--r--app/api/test/headers/route.ts80
1 files changed, 0 insertions, 80 deletions
diff --git a/app/api/test/headers/route.ts b/app/api/test/headers/route.ts
deleted file mode 100644
index 70c14564..00000000
--- a/app/api/test/headers/route.ts
+++ /dev/null
@@ -1,80 +0,0 @@
-import { NextRequest, NextResponse } from 'next/server';
-import { headers } from 'next/headers';
-
-/**
- * 리버스 프록시 헤더 전달 테스트 API
- *
- * 접속 방법:
- * - https://shidataroom.com/api/test/headers
- * - https://partners.sevcp.com/api/test/headers
- * - https://sevcp.com/api/test/headers
- *
- * 각 도메인에서 헤더가 올바르게 전달되는지 확인
- */
-export async function GET(request: NextRequest) {
- const headersList = await headers();
-
- // 중요한 헤더들 수집
- const host = headersList.get('host');
- const xForwardedProto = headersList.get('x-forwarded-proto');
- const xForwardedHost = headersList.get('x-forwarded-host');
- const xForwardedFor = headersList.get('x-forwarded-for');
- const xRealIp = headersList.get('x-real-ip');
-
- // 현재 계산된 origin
- const proto = xForwardedProto || 'http';
- const computedOrigin = `${proto}://${host}`;
-
- // request.nextUrl의 origin (Next.js가 인식하는 origin)
- const nextUrlOrigin = request.nextUrl.origin;
-
- return NextResponse.json({
- success: true,
- message: '리버스 프록시 헤더 정보',
- headers: {
- host,
- 'x-forwarded-proto': xForwardedProto,
- 'x-forwarded-host': xForwardedHost,
- 'x-forwarded-for': xForwardedFor,
- 'x-real-ip': xRealIp,
- },
- computed: {
- origin: computedOrigin,
- nextUrlOrigin,
- isCorrect: computedOrigin === nextUrlOrigin,
- },
- recommendations: {
- dmz_nginx: {
- required: [
- 'proxy_set_header Host $host;',
- 'proxy_set_header X-Forwarded-Proto $scheme;',
- 'proxy_set_header X-Forwarded-Host $host;',
- 'proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;',
- 'proxy_set_header X-Real-IP $remote_addr;',
- ]
- },
- ap_nginx: {
- required: [
- 'proxy_set_header Host $host;',
- 'proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;',
- 'proxy_set_header X-Forwarded-Host $http_x_forwarded_host;',
- 'proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;',
- 'proxy_set_header X-Real-IP $http_x_real_ip;',
- ]
- }
- },
- test: {
- description: '각 도메인에서 이 API를 호출하여 헤더가 올바른지 확인하세요',
- expected: {
- 'shidataroom.com': 'computed.origin should be "https://shidataroom.com"',
- 'partners.sevcp.com': 'computed.origin should be "https://partners.sevcp.com"',
- 'sevcp.com': 'computed.origin should be "https://sevcp.com"',
- }
- }
- }, {
- headers: {
- 'Content-Type': 'application/json',
- }
- });
-}
-