【问题标题】:How to encrypt web.config section AND deploy to multiple servers with Amazon Elastic Beanstalk如何加密 web.config 部分并使用 Amazon Elastic Beanstalk 部署到多个服务器
【发布时间】:2013-08-21 23:28:24
【问题描述】:

我正在使用 AWS Elastic Beanstalk 部署一个网站,它很容易部署到负载均衡的网络场中。

现在,我想对我已部署的站点的 web.config 中的某些部分进行加密,无论是在部署之前还是之后。

关于如何使用 Aspnet_regiis.exe 工具使用 RSA 加密部分的文章有很多,但是,问题是当您处理网络场时,因为您需要将私钥导出到其他服务器。

从这篇文章http://msdn.microsoft.com/en-us/library/ff647398.aspx看到:

Web Farm 场景如果你想在一个 Web Farm 的多台服务器上部署相同的加密配置文件,你应该使用 RSAProtectedConfigurationProvider。这个提供者可以很容易地 您在一台服务器计算机上加密数据,然后导出 RSA 解密数据所需的私钥。然后,您可以部署 配置文件和导出到目标服务器的密钥,以及 然后重新导入密钥。

但是,我的问题是,在负载均衡的环境中,由于 Autoscale 规则,服务器会上下波动,我需要一个流程来自动化管理密钥,即在新部署的服务器上导入用于加密 Web.config 的私钥。

有没有人做过这个或者可以提供一些见解?

【问题讨论】:

    标签: asp.net amazon-web-services web-config amazon-elastic-beanstalk


    【解决方案1】:

    按照@kukido 的建议,您需要创建一个包含以下内容的 .ebextension 文件。

    commands:
      encryptConfig:
        command: aspnet_regiis.exe -pe "connectionStrings" -app /
        cwd: %windir%\\Microsoft.NET\\Framework64\\v4.0.30319
    

    【讨论】:

      【解决方案2】:

      您可以利用容器命令导入私钥吗?每次初始化实例时都会执行该命令。一旦您开始将密钥保存在持久存储(例如 S3)中,那么自动缩放就不应该成为问题。

      Customizing the Software on EC2 Instances Running Windows 有更多关于容器命令的详细信息。

      【讨论】:

        猜你喜欢
        • 2015-01-06
        • 2018-06-13
        • 2018-02-09
        • 2015-03-23
        • 2016-12-26
        • 2014-03-06
        • 2012-02-24
        • 2013-06-14
        • 2015-05-15
        相关资源
        最近更新 更多