HTTP到HTTPS重定向规则通过命令行/脚本?

时间:2015-09-23 15:50:15

标签: iis

有没有办法使用APPCMD等将所有http:80流量重定向到https:443?例如,传入的请求:

http://www.mywebsite.com/some/long/string

重定向到:

https://www.mywebsite.com/

我知道如何在GUI中执行此操作,但我似乎无法通过脚本弄清楚如何执行此操作。我真的很感激!

1 个答案:

答案 0 :(得分:1)

here安装URL重写后,您可以运行以下AppCmd命令并为您的站点设置(在本例中为“默认网站”):

appcmd.exe set config "Default Web Site" -section:system.webServer/rewrite/rules /+"[name='Redirect to HTTPS']" 
appcmd.exe set config "Default Web Site" -section:system.webServer/rewrite/rules /"[name='Redirect to HTTPS'].match.url:"(.*)""  
appcmd.exe set config "Default Web Site" -section:system.webServer/rewrite/rules /+"[name='Redirect to HTTPS'].conditions.[input='{HTTPS}',pattern='Off']" 
appcmd.exe set config "Default Web Site" -section:system.webServer/rewrite/rules /"[name='Redirect to HTTPS'].action.type:"Redirect"" /"[name='Redirect to HTTPS'].action.url:"https://{HTTP_HOST}/{R:1}""  

但是还要提到你可以在你的内容中复制一个web.config文件,这样你就不需要实际运行这样的命令行,因为那个配置会成为你网站的一部分,简化了部署

只是为了完整性,将生成以下web.config条目:

<rule name="Redirect to https">
  <match url="(.*)" />
  <conditions>
    <add input="{HTTPS}" pattern="Off" />
  </conditions>
  <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
</rule>