【问题标题】:YAML exception: Invalid YamlYAML 异常:无效的 Yaml
【发布时间】:2017-11-25 16:50:30
【问题描述】:

我正在尝试在 AWS Elastic Beanstalk 上对 Tomcat 服务器实施加密。

我刚刚关注了this,并创建了一个.ebextensions/https-instance.config 文件。

但是当我部署到服务器时,我得到:

配置文件.ebextensions/https-instance.config 在 应用程序版本 thewhozoo-1.0.0.25 包含无效的 YAML 或 JSON。 YAML 异常:无效的 Yaml:在扫描一个简单的键时 "",第 4 行,第 1 列: -----BEGIN CERTIFICATE----- ^ 不能 在“”第 5 行第 1 列中找到预期的 ':': MIIDnDCCAoACCQCzIxYAYJicIjANBgkq ... ^ ,JSON 异常:无效 JSON: 位置 0 的意外字符 (f).. 更新配置 文件。

我做错了什么?

更新

我把文件改成:

但是得到以下信息:

配置文件.ebextensions/https-instance.config 在 应用程序版本 thewhozoo-1.0.0.31 包含无效的 YAML 或 JSON。 YAML 异常:无效的 Yaml:在解析块映射时 “”,第 7 行,第 5 列:模式:“000400”^ 预期, 但在“”第 32 行第 6 列中找到了 Scalar:-----END 证书----- ^,JSON 异常:无效 JSON:意外 位置 0 的字符 (p).. 更新配置文件。

【问题讨论】:

  • 有趣的是,错误消息设法使首字母缩略词 YAML 的大小写不正确以及引发 JSON 异常......
  • 真的应该将帖子中的“UPADTE”部分放入单独的新帖子中。使用适当的缩进更新该帖子中的屏幕截图,否则这可能是他们注意到和评论的第一件事
  • 抱歉。我试图发布一个新问题,但 StackOverflow 不允许我这样做。它将使用限制为每天 6 个问题。 (我今天也有一些关于其他主题的问题)。
  • 我明白,但这样更新不会引起太多关注(我无法帮助你)。
  • 谢谢,感谢您的帮助。我想我明天必须发布这个问题。希望我会在此期间尝试弄清楚。

标签: amazon-web-services tomcat encryption yaml amazon-elastic-beanstalk


【解决方案1】:

你必须缩进你的证书数据而不是content的列:

files:
  /etc/pki/tls/certs/server.crt:
    content: |
      -----BEGIN CERTIFICATE----
      MI.......
      Wk.......

这就是块样式中文字标量的工作方式。由于您可以在这样的文字标量中包含空行以及(进一步)缩进行,否则解析器将不知道您的标量是否已结束(即不会假设 /etc/pki/tls/certs/server.key: 是文字标量的一部分)。

【讨论】:

  • 哇,我简直不敢相信,它让我想起了 25 年前的 cobol 课程,那时我们必须在空间 7 处开始所有代码行!感谢分享!
猜你喜欢
  • 1970-01-01
  • 2018-09-05
  • 2017-05-14
  • 2019-01-04
  • 1970-01-01
  • 2019-07-09
  • 2019-10-28
  • 1970-01-01
  • 2017-02-22
相关资源
最近更新 更多