aga*_*ian 6 asp.net web-config amazon-web-services amazon-elastic-beanstalk
我正在使用AWS Elastic Beanstalk部署网站,部署到负载平衡的Web场中非常容易。
现在,我想对web.config中已部署站点的某些部分进行加密,无论是在部署之前还是之后。
关于如何通过RSA使用Aspnet_regiis.exe工具对部分进行加密的文章很多,但是,问题是在处理Web场时,因为您需要将私钥导出到其他服务器。
从本文http://msdn.microsoft.com/zh-cn/library/ff647398.aspx中可以看到:
Web服务器场方案如果要在Web服务器场中的多个服务器上部署相同的加密配置文件,则应使用RSAProtectedConfigurationProvider。该提供程序使您可以轻松地在一台服务器计算机上加密数据,然后导出解密数据所需的RSA私钥。然后,您可以将配置文件和导出的密钥部署到目标服务器,然后重新导入密钥。
但是,我的问题是,在负载平衡的环境中,服务器会由于自动缩放规则而上下波动,因此我需要一个过程来自动管理密钥,即在新部署的服务器上导入私钥用于加密Web.config。
是否有人这样做或可以提供一些见识?
按照@kukido的建议,您需要做的是创建一个.ebextension文件,其内容如下。
commands:
encryptConfig:
command: aspnet_regiis.exe -pe "connectionStrings" -app /
cwd: %windir%\\Microsoft.NET\\Framework64\\v4.0.30319
Run Code Online (Sandbox Code Playgroud)
您可以利用容器命令导入私钥吗?每次实例初始化时都会执行该命令。一旦您开始将密钥保存在持久存储(例如 S3)中,那么自动缩放就不应该成为问题。
在运行 Windows 的 EC2 实例上自定义软件提供了有关容器命令的更多详细信息。
归档时间: |
|
查看次数: |
1138 次 |
最近记录: |