IIS7이 포함 된 Win 2008 SP2 시스템을 고려하십시오. 이 시스템의 유일한 사이트에 인증서 및 호스트 이름을 적용하는 것이 작업입니다. 사이트의 호스트 헤더는abc.123.example.com
첫 번째 단계는 .pfx를 개인 저장소에 설치하는 것이 었으며 성공했습니다.
IIS7은 인증서가 사용 가능한 것으로 확인되지만 호스트 이름 입력은 허용하지 않습니다. 인증서를 선택하기 전에도 호스트 이름 텍스트 상자는 항상 비활성화 / 회색으로 표시됩니다. 기본 포트 80 바인딩도 삭제했습니다.
질문 : 이 사이트의 호스트 이름을 어떻게 설정합니까? 이 인증서가 와일드 카드 인증서의 문제입니까? SSL 요청이 웹 서버에 들어오고 패킷의 호스트 헤더가 암호화되어 있음을 이해합니다. 그러면 IIS6에서 호스트 헤더를 지정할 수 있지만 IIS7은 지정할 수없는 이유는 무엇입니까?
업데이트 : 인증서가 문제의 일부가 아닙니다. 컴퓨터에 새 사이트를 만들었으며 https 바인딩을 선택하면 호스트 이름 텍스트 상자가 비활성화됩니다.
답변
UI에서는 할 수 없으며 명령 줄에서해야합니다. 다음은 그 과정을 잘 살펴 보는 것입니다.
http://www.sslshopper.com/article-ssl-host-headers-in-iis-7.html
답변
GUI에서 작동합니다 …
설치하려는 인증서의 ‘친숙한 이름’이 인증서에 대해 만든 다중 도메인 이름과 동일한 지 확인하십시오.
즉. * .companydomain.com
* .companydoman.com 인증서에 ‘Nice friendly name’을 입력하면 인증서를 IIS에 설치할 때 호스트 이름 헤더 상자가 회색으로 표시됩니다.
* .companyname.com을 친숙한 이름으로 사용하면 황금색입니다.
팔.
답변
짧은 대답은 각 IP에 하나의 인증서 만 바인딩 할 수 있다는 것입니다. 따라서 해당 IP 주소로 어떤 호스트 이름이 지정 되더라도 인증서 바인딩이 적용됩니다. 호스트 이름을 지정할 수 있다는 것은 동일한 IP 주소와 포트에 여러 개의 호스트 이름과 인증서 조합이있을 수 있음을 의미하지만 (비 SSL 항목에서와 같이), 그렇지 않습니다. 따라서 필드를 사용할 수 없습니다.
보다 완전한 설명은 SSL이 트래픽을 암호화하고 해당 트래픽의 일부는 브라우저가 서버로 보낸 HTTP 헤더입니다. 이러한 헤더 중 하나는 IIS가 요청과 함께로드 할 사이트를 결정하는 데 사용하는 “호스트”헤더입니다. 요청 헤더가 전송되기 전에 보안 연결을 설정하려면 인증서를로드해야하므로 IIS는 IP 주소와 포트 번호 만 기반으로 인증서를 선택해야합니다. 어떤 사이트를로드해야하는지 입력 할 수 없습니다.
여기에 설명 기사입니다 SSL 연결의 내부 동작 미세한 세부 사항은.
답변
SSLShopper 응답은 호스트 헤더없이 바인딩을 남겨두고 인증서에 대한 연결을 끊지 않고 해당 바인딩을 제거 할 수 없기 때문에 작동하지 않았습니다. 작동시키는 데 사용한 방법은 다음과 같습니다.
이 답변은 인증서가 이미 생성되어 인증서 저장소에 추가되었고 IIS에 추가되었다고 가정합니다. 또한 SSL 이외의 다른 웹 사이트 바인딩을 원하지 않는다고 가정합니다.
먼저 정보를 수집해야합니다. 해시, 응용 프로그램 ID 및 호스트 이름이 필요합니다.
단계
- IIS를 열고 서버를 선택한 다음 하단 섹션에서 “서버 인증서”를 두 번 클릭하십시오. “발급 대상”주소를 적어 둡니다. 이것이 우리의 호스트 이름입니다. 이것을 저장하십시오.
- 귀하의 사이트를 선택하십시오
- http 프로토콜을 사용하여 사이트를 포트 80에 바인딩
- 다른 모든 바인딩 제거
- https 프로토콜을 사용하여 사이트를 포트 443에 바인딩
-
명령 프롬프트를 엽니 다
netsh http show sslcert
-
인증서 해시 및 응용 프로그램 ID 저장
- 사이트에서 https 바인딩을 제거하십시오.
-
명령 프롬프트에서 :
netsh http add sslcert ipport=0.0.0.0:443 certstorename=my certhash=<put Certificate Hash here> appid={<put Application ID here>} appcmd set site /site.name:"<put site name here>" /+bindings.[protocol='https',bindingInformation='*:443:<put host name here>']
참고 : Appcmd.exe는 c : \ windows \ system32 \ insetsrv에 있습니다. 이 명령이 작동하려면 해당 폴더에 있어야합니다.
- 사이트에서 http 바인딩을 제거하십시오.
답변
여기에 허용 된 답변은 혼란스럽고 질문에 맞지 않다고 생각합니다. 허용되는 답변이 아니어야합니다.
문제
와 같은 와일드 카드 SSL이 *.ipsum.com
있고 인증서가 설치되어 있지만 텍스트 상자가 회색으로 표시되어 HTTPS 바인딩을 추가하려고하면 IIS에서 사이트의 호스트 이름을 선택할 수 없습니다.
해결책
와일드 카드 SSL은 모든 하위 도메인과 함께 사용할 수 있습니다 . 인증서의 이름을로 시작 해야 합니다 *
. 예를 들어 와일드 카드 도메인과 같은 이름을 사용하는 것을 선호 *.ipsum.com
하지만 별표를 사용하는 모든 것을 호출 할 수 있습니다.*foo
인증서에 잘못된 이름을 알려주었습니다. 도와주세요!
Windows 8 또는 Server 2012 certlm.msc
부터 시작 메뉴에 입력 하여 로컬 컴퓨터의 인증서를 관리 할 수 있습니다. 이전 버전의 창에서는 약간 더 복잡한 작업을 수행해야합니다.
mmc.exe
처음부터 실행File
메뉴로 이동하여 선택Add/Remove Snap-in...
하거나 누르십시오(Ctrl-M)
- (가) 강조
Certificates
에 스냅인 히트Add >
한 후 선택합니다Computer Account
다음에Local Computer
다음 히트 후속 대화 상자에서Finish
다음OK
스냅인 창을 닫습니다
주 창에서 확장 Certificates (Local Computer)
한 후 Personal
다음 Certificates
인증서를 마우스 오른쪽 단추로 클릭에 당신은 수있을 것 명중 Properties
당신이 쉬운 이름을 업데이트 할 수있는 곳.
IIS 관리자를 닫고 연 다음 호스트 이름을 설정할 수 있습니다.
답변
실제로 GUI를 통해 호스트 헤더를 추가 할 수는 있지만 인증서 이름이 어떻게 지정되는지에 달려 있습니다 … 내 이름이 와일드 카드 인증서에 * .xyz.com이라는 친숙한 이름을 지정하고 해당 인증서를 선택한 경우 GUI를 사용할 수 있습니다. 친숙한 이름이 xyzwildcard와 같고 선택하면 호스트 헤더 필드가 회색으로 표시됩니다.
이상한 이상한
답변
프로토콜이 https로 변경되거나 SSL 인증서를 추가 한 후 일부 시스템에서는 호스트 이름을 편집 할 수 없습니다. IIS는 때때로 심술 can을 수 있습니다.
이 Windows 명령은 “443”포트, “subdomain.domain.com”호스트 이름, “site name”사이트 이름에 “https”프로토콜을 사용하여 새 바인딩을 만듭니다. 요구 사항에 맞게 값을 따옴표로 변경하십시오. 그런 다음 포트 443을 사용하는 경우 이전 바인딩을 삭제해야합니다.
Run Windows Command Prompt as Administrator
C :>cd C:\Windows\System32\inetsrv
C : \ Windows \ System32 \ inetsrv>appcmd set site /site.name:"site_name" /+bindings.[protocol='https',bindingInformation='*:443:subdomain.domain.com']