Iis Can';t设置URLEWRITE以将HTTP重定向到HTTPS并要求客户端证书

Iis Can';t设置URLEWRITE以将HTTP重定向到HTTPS并要求客户端证书,iis,https,url-rewriting,client-certificates,Iis,Https,Url Rewriting,Client Certificates,我有一个IIS站点,其中: -我需要将HTTP重定向到HTTPS -我需要客户端证书 第一部分工作正常,使用一个简单的规则将HTTP重定向到HTTPS 但是,如果我修改站点的SSL设置以要求SSL和客户端证书,如果我尝试使用http访问站点而不是获取重定向,则会出现错误 有没有办法让这项工作正常进行?解决方案是在IIS中为同一个域设置两个不同的站点: 一个仅绑定到HTTP,通常在端口80中 另一个绑定到HTTPS的,通常在端口443,带有证书 第一个站点只是一个空站点,只有一个web.con

我有一个IIS站点,其中: -我需要将HTTP重定向到HTTPS -我需要客户端证书

第一部分工作正常,使用一个简单的规则将HTTP重定向到HTTPS

但是,如果我修改站点的SSL设置以要求SSL和客户端证书,如果我尝试使用http访问站点而不是获取重定向,则会出现错误


有没有办法让这项工作正常进行?

解决方案是在IIS中为同一个域设置两个不同的站点:

  • 一个仅绑定到HTTP,通常在端口80中
  • 另一个绑定到HTTPS的,通常在端口443,带有证书
第一个站点只是一个空站点,只有一个
web.config
文件将所有请求重定向到https。其内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <system.webServer>
  <rewrite>
   <rules>
     <rule name="Redirect to HTTPS" enabled="true" patternSyntax="Wildcard"
      stopProcessing="true">
      <match url="*" />
      <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" />
     </rule>
    </rules>
  </rewrite>
 </system.webServer>
</configuration>