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 라이센스를 따릅니다.