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

Azure App Service:实例注册表键值差异及注入SystemDefaultTlsVersions键方法咨询

统一配置Azure App Service Windows实例的.NET Framework注册表键

针对你遇到的Windows Azure App Service多实例注册表键不一致的问题,有几个可靠的方法可以确保所有实例都能正确添加SystemDefaultTlsVersions键:

1. 使用启动任务脚本(推荐)

Azure App Service允许通过启动脚本在实例初始化阶段执行系统级操作,包括修改注册表。这种方式能保证每次实例启动(包括自动扩容、重启后的新实例)都会自动配置该键:

  • 在WebApp的wwwroot目录下创建一个启动脚本,比如SetTlsRegKey.cmd(CMD格式)或者SetTlsRegKey.ps1(PowerShell格式):
    • CMD脚本内容:
      reg add "HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319" /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f
      reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319" /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f
      
    • PowerShell脚本内容:
      New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319" -Name SystemDefaultTlsVersions -Value 1 -PropertyType DWord -Force
      New-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319" -Name SystemDefaultTlsVersions -Value 1 -PropertyType DWord -Force
      
  • 登录Azure门户,进入你的WebApp配置页面,找到启动命令选项,填入脚本的执行命令:
    • CMD脚本用:cmd /c D:\home\site\wwwroot\SetTlsRegKey.cmd
    • PowerShell脚本用:powershell -ExecutionPolicy Unrestricted -File D:\home\site\wwwroot\SetTlsRegKey.ps1
  • 保存配置后,重启所有实例,新的启动脚本会自动在每个实例上生效。

2. 通过ARM/Bicep模板固化配置

如果你的WebApp是通过基础设施即代码(IaC)部署的,可以在ARM模板或Bicep文件中添加自定义脚本扩展,确保新实例创建时自动执行注册表配置脚本。这种方式适合长期维护,避免后续新增实例出现配置遗漏。

注意事项

  • 必须同时配置64位和32位的注册表路径(Wow6432Node下的条目),避免32位应用无法读取到该键。
  • 不要手动修改单个实例的注册表——App Service实例是无状态的,重启后所有手动修改会被重置,只有启动脚本或IaC配置能持久生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 02:52:21