이 질문에 대한 답변 (특히 this one)이 없어서 여기에 해당합니다.IIS에서 FQDN 리디렉션이 작동하지 않습니다.
Windows Server 2012 R2에서 IIS 8을 실행하고 있습니다. 서버에 와일드 카드 인증서 (* .mydomain.com)가 설치되어 있습니다. 기본 웹 사이트에는 포트 443에서 들어오는 https 요청을 수락하는 단일 바인딩이 있습니다. 포트 80에서 들어오는 HTTP 요청을 받아들이도록 단일 바인딩으로 설정된 두 번째 웹 사이트가 있습니다.
웹 사이트에서 ' 들어오는 모든 비 HTTP 트래픽을 https://myserver.mydomain.com{REQUEST_URI}
으로 리디렉션하는 URL 다시 쓰기 규칙을 만들었으며 완벽하게 작동합니다. http://myserver.mydomain.com/homepage
또는 http://myserver/homepage
으로 이동하면 전체 도메인 이름이 포함 된 HTTPS 버전의 사이트로 정상적으로 리디렉션됩니다. 따라서로드가 잘됩니다.
https://myserver.mydomain.com/homepage
으로 이동하면 사이트도 완벽하게로드됩니다.
그러나 https://myserver/homepage
(참고 : HTTPS이지만 전체 도메인 이름은 생략)에 대한 요청이 https://myserver.mydomain.com/homepage
으로 리디렉션되도록 기본 웹 사이트에 다른 URL 다시 쓰기 규칙을 만들려고합니다. 그 이유는 전체 도메인이 포함 된 경우에만 SSL 인증서가 일치하기 때문입니다. 그대로, https://myserver/homepage
을 입력하면 보안 경고 (NET::ERR_CERT_COMMON_NAME_INVALID
)가 표시됩니다.
필자는 위에 링크 된 대답을 기반으로 작동해야한다고 생각하는 규칙을 만들었지 만 작동하지 않으며 그 이유를 모르겠습니다. 이런 내 규칙보기 : 나는 보안 메시지가 https://myserver/homepage
로 이동하는 경우에도 장소에서이 규칙
<rewrite>
<rules>
<rule name="Redirect to FQDN" enabled="true" patternSyntax="ECMAScript" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^myserver$" />
<add input="{HTTPS}" pattern="^ON$" />
</conditions>
<action type="Rewrite" url="https://myserver.mydomain.com/{R:1}" />
</rule>
</rules>
</rewrite>
및 활성화. 이 규칙에 내가 뭘 잘못하고 있니?
사이,하지만 난 ' 그 도메인을 포함하는 동등한 URL로 전달 된 도메인을 포함하지 않는 요청을 포함하여이를 처리하려고 시도하여 인증서와 일치하도록해야합니다. 요청이 HTTPS를 통해 들어오는 경우 이것이 가능하지 않다고 말하고 있습니까? –