From afdaed8890f18b96a653bc02e81c80d432a4ab4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Chyeonggkim=E2=80=9D?= <“hyeonggkim@smilegate.com”> Date: Tue, 31 Mar 2026 14:17:08 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20Nuxt=20runtimeConfig=20=EC=82=AC?= =?UTF-8?q?=EC=9A=A9=ED=95=98=EC=97=AC=20robots.txt=20=EC=84=A4=EC=A0=95?= =?UTF-8?q?=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- layers/server/routes/robots.txt.ts | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/layers/server/routes/robots.txt.ts b/layers/server/routes/robots.txt.ts index 7eb49b0..67104c5 100644 --- a/layers/server/routes/robots.txt.ts +++ b/layers/server/routes/robots.txt.ts @@ -9,9 +9,19 @@ type RobotsConfig = { } export default defineEventHandler(async event => { - const host = - (getHeader(event, 'host') || getRequestHost(event)).toString() || '' - const baseDomain = process.env.BASE_DOMAIN + // Nuxt runtimeConfig 사용 + const runtimeConfig = useRuntimeConfig() + const baseDomain = runtimeConfig.public.baseDomain + const staticUrl = runtimeConfig.public.staticUrl + const runType = runtimeConfig.public.runType + + // 프록시 뒤에 있는 경우 X-Forwarded-Host 우선 사용 + const forwardedHost = getHeader(event, 'x-forwarded-host') + const host = ( + forwardedHost || + getHeader(event, 'host') || + getRequestHost(event) + ).toString() || '' const isGameAliasExtractable = host.includes(baseDomain) let gameAlias = '' @@ -22,9 +32,6 @@ export default defineEventHandler(async event => { let config: RobotsConfig try { - const staticUrl = process.env.STATIC_URL - const runType = process.env.RUN_TYPE - // gameAlias가 있을 때만 sitemap 포함 const sitemapUrl = gameAlias ? [`${staticUrl}/${runType}/template/${gameAlias}/sitemap.xml`] @@ -79,8 +86,14 @@ export default defineEventHandler(async event => { : config.sitemap ? [config.sitemap] : [] - for (const sm of sitemaps) lines.push(`Sitemap: ${sm}`) - if (config.host) lines.push(`Host: ${config.host}`) + + for (const sm of sitemaps) { + lines.push(`Sitemap: ${sm}`) + } + + if (config.host) { + lines.push(`Host: ${config.host}`) + } // 마지막 개행 return lines.join('\n').trim() + '\n'