Amazon ElasticBeanstalk:使用换行符配置环境变量
Posted
技术标签:
【中文标题】Amazon ElasticBeanstalk:使用换行符配置环境变量【英文标题】:Amazon ElasticBeanstalk: configure environment variable with newlines 【发布时间】:2013-11-13 13:28:06 【问题描述】:我想使用 ElasticBeanstalk(例如 RSA 私钥)向我的应用程序添加带有换行符的环境变量。为此,我有以下表格:
还有 AWS CLI。
【问题讨论】:
添加该环境变量后会发生什么? @AndreyMyatlyuk 应用程序重新启动。我通过在环境变量中为带有换行符的文件提供路径来解决这个问题。 【参考方案1】:我不想在我的构建中添加密钥文件,因为我们是从 git 构建的,版本控制中的密钥可能会带来安全隐患,所以我改用了这个解决方法:
# From your shell: Base64 encode the RSA private key file
# -w 0 disables wrapping, we don't want new lines
base64 -w 0 id_rsa
Base64 编码数据没有换行符,因此您可以将输出直接用作 ElasticBeanstalk 环境变量。然后,您可以在应用程序中使用此变量,如下所示:
# From the shell
echo "$SSH_PRIVATE_KEY" | base64 --decode - > .ssh/id_rsa
# Or just decode it with some other programming language of your choice
这样,您不必将要引用的文件包含在构建中,但您可以将密钥完全包含在环境变量中。
【讨论】:
您是如何让 Elastic Beanstalk 添加$SSH_PRIVATE_KEY
的?太长了所以我得到Service:AmazonCloudFormation, Message:Template format error: Parameter 'EnvironmentVariables' default value ...
以上是关于Amazon ElasticBeanstalk:使用换行符配置环境变量的主要内容,如果未能解决你的问题,请参考以下文章
Amazon ElasticBeanstalk 上的 Ruby on Rails 部署:签名过期错误
Amazon ElasticBeanstalk:使用换行符配置环境变量
是否可以在 Amazon elasticbeanstalk 上启动特权 docker 容器?
413 请求实体在 Nginx 和 Amazon ElasticBeanstalk 中太大