summaryrefslogtreecommitdiff
path: root/app/api/test/headers/route.ts
diff options
context:
space:
mode:
authorjoonhoekim <26rote@gmail.com>2025-10-30 21:21:29 +0900
committerjoonhoekim <26rote@gmail.com>2025-10-30 21:21:29 +0900
commit9d77688b3fbce108e170e0f874fbd9da66fd25d1 (patch)
treeed6d8462c2c1ab3bbf932bb50309a1df308821f9 /app/api/test/headers/route.ts
parent788eb678c45c6d3767cd2679c41ad5387ae6c3f0 (diff)
(김준회) 멀티도메인 대응 로그아웃 커스텀 처리, PO 생성 서버액션 연결
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',
- }
- });
-}
-