无法设置UrlRewrite将HTTP重定向到HTTPS并需要客户端证书

时间:2018-06-19 10:59:51

标签: iis https url-rewriting client-certificates

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

第一部分工作正常,有一个简单的规则,可以从HTTP重定向到HTTPS。

但是,如果我修改网站的SSL设置以要求SSL和客户端证书,如果我尝试使用http访问该网站,而不是获得重定向,则会收到错误。

有没有办法让这项工作?

1 个答案:

答案 0 :(得分:0)

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

  • 一个只绑定到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>