IIS Configuration
웹 플랫폼 설치관리자 다운로드 및 설치
아래 URL에서 다운로드 및 설치
http://www.microsoft.com/ko-kr/download/details.aspx?id=6164
설치 후 웹 플랫폼 설치 관리자 아이콘이 생김
(보이지 않을 경우 IIS 창을 닫고 다시 실행 - 서비스 종료가 아님 )
웹 플랫폼 설치 관리자
제품 탭에서 [웹 배포]로 검색
설치
- 웹 배포도구 2.1
- 웹 배포 3.5
- 웹 배포 3.5(SQL 지원 번들 없음) (최신버전)
IIS 배포 사이트 추가
사이트에서 응용프로그램 가져오기
'
- 응용프로그램 경로는 기본적으로 응용 프로그램 명으로 나오지만 응용 프로그램 자체가 wwwRoot인 경우 비워둔다
- Connection String은 배포 패키지 생성시 값으로 나오지만 변경가능
배포 완료 및 접속확인
URL : http://localhost:8001/
Encrypt Configuration Sections
- 참고 URL : https://msdn.microsoft.com/ko-kr/library/ff647398.aspx
- 구성 파일 섹션 암호화를 위해 aspnet_regiis.exe 구성 파일 사용
- 올바른 버전의 Aspnet_regiis.exe 찾기
.NET Framework 버전 | Aspnet_regiis.exe 파일 위치 |
---|---|
.NET Framework 버전 1 | %windir%.NET\Framework\v1.0.3705 |
.NET Framework 버전 1.1 | %windir%\Microsoft.NET\Framework\v1.1.4322 |
.NET Framework 버전 2.0, 버전 3.0 및 버전 3.5(32비트 시스템) | %windir%\Microsoft.NET\Framework\v2.0.50727 |
.NET Framework 버전 2.0, 버전 3.0 및 버전 3.5(64비트 시스템) | %windir%\Microsoft.NET\Framework64\v2.0.50727 |
.NET Framework 버전 4(32비트 시스템) | %windir%\Microsoft.NET\Framework\v4.0.30319 |
.NET Framework 버전 4(64비트 시스템) | %windir%\Microsoft.NET\Framework64\v4.0.30319 |
- 암호화 구성 공급자
- DataProtectionConfigurationProvider
- Windows DPAPI(데이터 보호 API)를 사용하여 구성 섹션을 암호화합니다
- RsaProtectedConfigurationProvider
- RSA 암호화 알고리즘을 사용하여 데이터를 암호화하고 해독합니다.
- DataProtectionConfigurationProvider
실행 cmd
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -pef "connectionStrings" C:\0_Continuous_Integration\wwwRoot -prov "DataProtectionConfigurationProvider"
Web.config 암호화 전
<connectionStrings> <add name="residentParkDB" connectionString="Server=125.141.228.204;user id=testparkingid;password=testparkingpwd;database=TestParking" providerName="System.Data.SqlClient" /> </connectionStrings>
Web.config 암호화 후
<connectionStrings configProtectionProvider="DataProtectionConfigurationProvider"> <EncryptedData> <CipherData> <CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAzfqDt8slgEyS5ea7O5nEFwQAAAACAAAAAAAQZgAAAAEAACAAAACVohtjbsY9PxQqAgE2EnO76QkPwazicy0IZL7eNyLsoAAAAAAOgAAAAAIAACAAAABDU4JxoZW2XsMsnK6LqoOo2d6YXz8lTWnTDV+ms1W/YMABAADoNXeUwZIF4xHvuRgbso3Kio0F9F4Pz28AmHvy1w57qh+VQAnT/7WsM+Qg+0xT3QsByvrpKpyUdEFqZDC22ql2KbUMKeAooaqxDkBXFB3cQXxqmNcYOslrU8b85JEqb2b4Ra1E0YG7x+qJk4uUL5rvoYApw1+w3b5+3ULnmSfTCKFMfhBoN+7j73WZOPumJYJ0/Hqk/LnILEznZG3qqnjlKq3LdOYqeGT5DniyKQaAcmBnqnXF2Ut4JA8RGSh6vXjQLCn8dpEqAIP8esmVDDNYYFw7yvAdPD0eolba5E40NPX717wLksPN79Qr87znD5Px/3MXV2Iz1NrIRyDIZO8frH5+/gID13LFCVmDhr69QyxsDeNLbMtQD450RYT4YfGrKFoE/GdEaYG+DAWonpcd69I93cI62XPWO/Lzz3MSKW+BWsGVFOE2VhM7zzDG61TZLrglJfcQQt7ShWRXoSbjUssaeP+py060Lyd1/GRSkNKwS5kpzcYIPY29cHahm+d4Bpnx/qpnzm+/Dt3LTIXSErwcEm6jvvuat9ueWy4qiqCbolL9jOBBLaYNq9yb2QWv8HViHZD+zkDjR7fdqqsTQAAAAPk7vCxH4s9dZsYl1m1UZnCRzdxNO5aaiPWA8o1hqyvXCQh3/d4/L13PTg5udH43nq6ikHXeI2fA+ixPAyJqMvU=</CipherValue> </CipherData> </EncryptedData> </connectionStrings>
- 소스쪽 복호화 코드는 따로 추가 하지 않아도 됨
System.Configuration.Configuration rootWebConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/"); System.Configuration.ConnectionStringSettings connString = new System.Configuration.ConnectionStringSettings(); if (0 < rootWebConfig.ConnectionStrings.ConnectionStrings.Count) { connString = rootWebConfig.ConnectionStrings.ConnectionStrings["residentParkDB"]; if (null == connString) throw new Exception("Not found Connection String"); } else{ throw new Exception("Not found Connection String"); }