首页 文章

如何加密web.config部分并使用Amazon Elastic Beanstalk部署到多个服务器

提问于
浏览
4

我正在使用AWS Elastic Beanstalk部署网站,并且可以非常轻松地部署到负载 balancer 的Web场中 .

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

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

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

Web场方案如果要在Web场中的多个服务器上部署相同的加密配置文件,则应使用RSAProtectedConfigurationProvider . 此提供程序使您可以轻松地加密一台服务器计算机上的数据,然后导出解密数据所需的RSA私钥 . 然后,您可以将配置文件和导出的密钥部署到目标服务器,然后重新导入密钥 .

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

有没有人这样做或可以提供一些见解?

2 回答

  • 0

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

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

  • 2

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

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

相关问题