我正在使用Elastic Beanstalk将Ruby on Rails应用程序部署到AWS,并且必须将私钥设置为环境变量
例如
-----BEGIN RSA PRIVATE KEY----- SpvpksXQIBA65ICOgQxV2TvMIICAiMeV9prhdJSKjjsk2 tYdz8lhn/ibROQW71utuHLAyHGMBxz3kIaaIq1kjdkkk tYdz8lhn/ibROQW71utuHLAyHGMBxz3kIaaIq1kjdkkk tYdz8lhn/ibROQW71utuHLAyHGMBxz3kIaaIq1kjdkkk tYdz8lhn/ibROQW71utuHLAyHGMBxz3kIaaIq1kjdkkk -----END RSA PRIVATE KEY-----
但是,这在部署应用程序时似乎不起作用,因为它总是会失败并显示
OpenSSL :: PKey :: RSAError:PUB密钥或PRIV密钥均未:嵌套asn1错误
我认为这是因为RSA密钥格式错误。
但是,与Heroku不同,AWS EB不接受多行输入(请参阅下文),因此我必须使用它\n
来创建新行。
我尝试了几种不同的样式,但似乎没有一种可以\n
正确地插值,而且我始终会遇到相同的错误。
我已经尝试过\n
并在每一行的结尾处进行\\n
尝试,然后还尝试使用双引号\"
来包装键,但是我仍然会遇到相同的错误。
如何在AWS Elastic Beanstalk中正确设置多行环境变量?
您可以在EB中使用设置它,\n
然后在将其传递给config.key
-之前将'\ n'转换为换行符-这样(请注意对的单引号和双引号gsub
):
single_line_key = ENV.fetch('CLOUDFRONT_KEY')
multi_line_key = single_line_key.gsub('\n', "\n")
config.key = multi_line_key
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句