diff options
| author | joonhoekim <26rote@gmail.com> | 2025-10-30 21:21:29 +0900 |
|---|---|---|
| committer | joonhoekim <26rote@gmail.com> | 2025-10-30 21:21:29 +0900 |
| commit | 9d77688b3fbce108e170e0f874fbd9da66fd25d1 (patch) | |
| tree | ed6d8462c2c1ab3bbf932bb50309a1df308821f9 /app/api/test/headers/route.ts | |
| parent | 788eb678c45c6d3767cd2679c41ad5387ae6c3f0 (diff) | |
(김준회) 멀티도메인 대응 로그아웃 커스텀 처리, PO 생성 서버액션 연결
Diffstat (limited to 'app/api/test/headers/route.ts')
| -rw-r--r-- | app/api/test/headers/route.ts | 80 |
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', - } - }); -} - |
