포스트

IIS에 테스트 응용프로그램 추가하고 세팅하기 (.NET 8+)

IIS에 테스트 응용프로그램 추가하고 세팅하기 (.NET 8+)

운영 중인 사이트에 별도 경로(별칭)로 테스트 빌드를 올려서, 운영과 독립적으로 테스트할 수 있습니다.

1. 응용프로그램 풀 추가

IIS 관리자 → 응용프로그램 풀추가

항목
이름자유롭게 (예: my-test-pool)
.NET CLR 버전관리 코드 없음

최신 .NET(6/8/9)은 Kestrel 기반이라 CLR이 필요 없습니다. “관리 코드 없음”을 선택해야 합니다.

추가 후 해당 풀 선택 → 고급 설정 → 프로세스 모델 섹션:

항목
ID (Identity)사용자 지정 계정 → 설정 → 서버 로그인 사용자 ID / 비밀번호 입력

이 계정이 앱 폴더 및 파일 저장 경로에 대한 읽기/쓰기 권한이 있어야 합니다.

2. 응용프로그램 추가

대상 사이트 우클릭 → 응용프로그램 추가

항목
별칭 (Alias)URL 경로가 됨 (예: test-dev)
응용프로그램 풀1단계에서 만든 풀 선택
실제 경로빌드 결과물을 올려놓을 서버 폴더 경로

연결 계정 → 설정 테스트: 풀에서 지정한 계정으로 실제 경로에 접근 가능한지 확인합니다.

3. 배포 및 접속

1
2
3
4
5
# 로컬에서 빌드
dotnet publish --configuration Release --output ./publish

# publish 폴더 내용을 서버의 실제 경로에 복사
# IIS에서 해당 앱 풀 → 재활용(Recycle)

접속 URL:

1
https://your-domain.com/{별칭}/v1/...

별칭이 URL 경로 앞에 붙습니다. 운영(/v1/...)과 독립적으로 동작합니다.

4. web.config rewrite 제외 규칙

사이트 루트의 web.config에 Next.js 리버스 프록시 규칙이 있으면, 응용프로그램으로 추가한 경로도 Next.js로 프록시되어 404가 발생합니다.

해당 경로를 rewrite에서 제외하는 규칙을 추가합니다.

1
2
3
4
5
<!-- 테스트용 API 응용프로그램 제외 -->
<rule name="Exclude test API" stopProcessing="true">
  <match url="^test(/.*)?$" />
  <action type="None" />
</rule>

기존 v1 제외 규칙(Exclude v1 API) 바로 아래, Next.js 프록시 규칙(React Reverse Proxy) 위에 배치합니다.

참고

  • stopProcessing="true"가 중요 — 이후 규칙(Next.js 프록시)을 건너뜁니다
  • 여러 테스트 경로가 있으면 패턴으로 묶기 가능: ^(v1|test)(/.*)?$
  • sandbox 도메인의 리다이렉트 규칙에서도 해당 경로를 제외해야 할 수 있음
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.