VSTS 2017部署时如何配置IIS网站的强制SSL要求?
回答VSTS 2017自动化设置IIS「Require SSL」的问题
当然可以把IIS的「Require SSL」设置纳入VSTS 2017的发布定义,完全不需要每次手动去IIS控制台操作!你提到的Visual Studio项目里的「SSL Enabled」属性只是控制本地调试时的SSL启用状态,和服务器IIS上的强制HTTPS设置是独立的,所以确实需要单独配置服务器端的规则。
下面是两种可行的自动化方案:
方案1:使用PowerShell脚本任务(推荐)
这种方式灵活直接,能精准控制IIS的SSL设置:
- 在你的VSTS发布定义中添加一个PowerShell任务(选择「Inline Script」模式)
- 输入以下脚本,替换
YourSiteName为你的网站名称:
这个命令直接修改IIS的配置项,和手动勾选「Require SSL」的效果完全一致。# 仅强制HTTPS(对应勾选「Require SSL」) Set-WebConfiguration -Filter '/system.webServer/security/access/sslFlags' -Value 'Ssl' -PSPath 'IIS:\Sites\YourSiteName' # 如果同时需要客户端证书验证,使用这个值: # Set-WebConfiguration -Filter '/system.webServer/security/access/sslFlags' -Value 'Ssl,SslRequireCert' -PSPath 'IIS:\Sites\YourSiteName'
方案2:使用IIS Web App Manage任务
如果你更倾向于用内置的可视化任务:
- 添加IIS Web App Manage任务到发布流程
- 在「IIS Deployment Action」中选择「Configure Application」
- 展开「Advanced」选项,找到「Additional App Cmd Arguments」,输入:
同样替换set site "YourSiteName" /sslFlags:SslYourSiteName为实际网站名,这条命令也能实现强制HTTPS的设置。
无论你是首次搭建网站还是后续更新部署,这些步骤都能自动完成IIS的SSL强制设置,完全替代手动操作。
内容的提问来源于stack exchange,提问作者Evan
相关产品推荐
相关产品推荐

