【问题标题】:Encrypt .NET Web.config file for specific environment为特定环境加密 .NET Web.config 文件
【发布时间】:2020-08-22 22:33:04
【问题描述】:

我刚刚学会了在我的 Web.config 文件中加密连接字符串的命令。

aspnet_regiis -pe "connectionStrings" "/MyApp"

此命令会加密 Web.config。但是,在我的应用程序中,我有一个适用于多个环境的 Web.config 文件:Web.test.config、Web.production.config 等。是否可以指定要加密的 env/config 文件?我试过了:

aspnet_regiis -pe "connectionStrings" "/MyApp/Web.test.config"

但这不起作用。

【问题讨论】:

  • aspnet_regiis 是特定于机器的,您无法在本地生成加密并推送到其他环境。您需要创建一个持续交付流程来使用目标机器对其进行自定义。

标签: c# asp.net .net encryption web-config


【解决方案1】:

不要使用 web.XXX.config,因为它必须存储在您的源代码中。您应该使用环境变量(您仍然可以通过读取 web.config 的现有代码访问这些变量)。

环境变量可以直接在服务器上定义,这样可以绕过你的问题,例如生产服务器的连接字符串与 UAT 不同。

【讨论】:

  • 改变这一点确实为时已晚,我有 8 个环境,因此为特定环境构建并让它获取该环境的 web.XXX.config 就是我的做法。真希望我可以加密我想要的配置文件,而不是默认的 Web.config
  • 我不是这个意思。您的代码中有相同的 web.config,但环境会覆盖那些特定于环境的值。
猜你喜欢
  • 2016-01-25
  • 2016-12-30
  • 1970-01-01
  • 1970-01-01
  • 2021-09-19
  • 2023-03-24
  • 1970-01-01
  • 2016-08-30
  • 1970-01-01
相关资源
最近更新 更多