You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps发布流水线错误在IIS中添加HTTP重定向的解决求助

问题排查与解决办法

原因分析

  1. Web Deploy包携带IIS配置:你的部署zip包可能包含了Web Deploy的配置参数(比如parameters.xml),其中定义了启用HTTP重定向到HTTPS的规则,部署时被任务自动同步到IIS。
  2. 任务默认配置同步行为:IISWebAppDeploymentOnMachineGroup@0基于Web Deploy实现部署,默认会将包内包含的所有IIS配置片段同步到目标服务器,若打包过程中不小心包含了重定向配置,就会自动应用。
  3. XmlVariableSubstitution误操作:虽然你未显式配置重定向变量,但如果部署过程中存在名称冲突的变量,可能意外修改了IIS站点的配置文件(如applicationHost.config)。

解决步骤

1. 检查部署包内容

解压你生成的部署zip包,重点查看以下文件:

  • parameters.xml:检查是否存在关于HTTP重定向的参数定义
  • 任何IIS配置片段文件:查看是否包含<httpRedirect>相关节点

如果发现相关配置,直接删除或修改后重新打包。

2. 修改Azure DevOps部署任务配置

调整IISWebAppDeploymentOnMachineGroup@0任务的输入参数,添加额外参数阻止不必要的配置同步:

steps:
  - task: IISWebAppDeploymentOnMachineGroup@0
    displayName: 'Deploy IIS QA'
    inputs:
      WebSiteName: my.site.name
      Package: ' $(System.DefaultWorkingDirectory)\**\*.zip'
      RemoveAdditionalFilesFlag: true
      TakeAppOfflineFlag: true
      XmlVariableSubstitution: true
      AdditionalArguments: '-disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension'

添加的AdditionalArguments会限制Web Deploy仅同步核心应用内容,避免意外覆盖IIS重定向配置。

3. 手动锁定IIS重定向配置

如果部署后仍出现自动添加的重定向,可手动清除并锁定配置:

  • 打开IIS管理器,找到目标站点
  • 进入「HTTP重定向」功能,取消勾选「将请求重定向到此目标」
  • 点击右侧「锁定」按钮,防止后续部署操作修改该配置

4. 保留web.config的Rewrite规则

你当前的web.config中已配置URL Rewrite的HTTP转HTTPS规则,该规则与IIS的HTTP重定向模块独立生效。若仅需要通过Rewrite实现HTTPS跳转,确保web.config中无<httpRedirect>节点即可。

内容的提问来源于stack exchange,提问作者tamirisadp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 09:05:26