하나의 IIS에 여러사이트 443포트 공유해서 운영하기
본문
하나의 IIS안에서 여러 웹사이트를 돌릴때 IIS관리자(GUI)에서 SSL 포트를 바꿔보면 하나이상 지정이 되지 않는다. 만약 이미 443으로 세팅이되어있는데 다른 웹사이트에도 443으로 지정을 한다면 이미 프로세스가 있어서 안된다고 하면서 웹사이트가 실행되지 않을 것이다.
방법이 없는것이 아니다.
아래의 Command Line을 다음 폴더에서 실행한다.
C:\Inetpub\AdminScripts
cscript.exe adsutil.vbs set /w3svc/식별자번호/SecureBindings ":443:사이트URL"
사이트번호는 IIS관리자에서나오는 8~11자리 숫자를 입력한다.
사이트URL은 www.naver.com 과 같은 웹사이트 주소를 입력.
=====================================================================================
멀티도메인 인증서를 각각의 사이트에 설치하게되면 포트가 충돌난다면서
나중에 인증서를 설치한 사이트는 작동중지가 됨
iis6일 경우 명령창을 열고 각 사이트에 대해 다음과 같이 명령어를 실행해줌
cscript C:\Inetpub\AdminScripts\adsutil.vbs set /w3svc/<식별자>/SecureBindings ":443:<호스트 헤더 값>"
예) cscript C:\Inetpub\AdminScripts\adsutil.vbs set /w3svc/500030040/SecureBindings ":443:www.test.com"
식별자는 IIS manager 에서 보이는 숫자로 된 아이디(식별자) 이며 호스트 헤더값은 ssl을 적용할 도메인(www.test.com 등)이다.
iis7일 경우 마찬가지로 명령창을 열고 각사이트에 대해 다음과 같은 명령어를 실행해 준다.
appcmd 는 c:\windows\system32\inetsrv 에 있다
appcmd set site /site.name:"<사이트이름>" /+bindings.[protocol='https',bindingInformation='*:443:<호스트 헤더 값>']
예) appcmd set site /site.name:"www.test.com" /+bindings.[protocol='https',bindingInformation='*:443:www.test.com']
사이트 이름은 IIS manager 에서 확인할 수 있으며 호스트 헤더 값은 역시 ssl을 적용할 도메인 값이다.
iis7의 경우 appcmd 후에도 제대로 작동하지 않아 다른 삽질을 몇번 했는데(바인딩을 지웠다 다시 설정하기도하고 사이트 재시작도 해보고)
워낙 이리저리 해본지라 어떤절차를 걸쳐 정확히 작동했는지는 확실하지 않음.
어쨌든 appcmd 후에야 443 포트에 여러 사이트를 동시에 할당할 수 있다.
위의 명령어는 반드시 관리자로 로그인하여 실행해야 한다.
==================================================================
SecureBindings 삭제 방법
cscript.exe C:\Inetpub\AdminScripts\adsutil.vbs delete w3svc/[식별자]/SecureBindings
출처: https://pkson.tistory.com/83 [ERICSON.KR]
댓글목록 0