启用 ssl 和 Elastic Beanstalk 的 Spring Boot - 找不到文件

Posted

技术标签:

【中文标题】启用 ssl 和 Elastic Beanstalk 的 Spring Boot - 找不到文件【英文标题】:Spring boot with ssl enabled and Elastic Beanstalk - Files not found 【发布时间】:2018-04-26 16:56:17 【问题描述】:

我设置了一个启用 ssl = true 的 Spring Boot 应用程序。在我的本地机器上,一切正常且符合预期。我的信任库和密钥库是单独的文件。两者都位于 src/main/resources/static/ssl/ 下。到目前为止,一切都很好。但是,如果我在弹性 beanstalk 上部署我的应用程序,我会得到以下日志:

java.io.FileNotFoundException: /var/app/current/src/main/resources/static/ssl/keystore.p12(没有这样的文件或目录)

为什么我的应用无法识别 elastic beanstalk 中的此路径?我在 application.properties 文件中设置了路径。我必须在任何地方另外设置路径吗?

问题不在于 ssl 不起作用,而是找不到文件。

【问题讨论】:

配置隐藏文件夹.ebextensions .. 祝你好运! 将它们放在src 以外的文件夹中。运行时您的源代码不会在实例中。 【参考方案1】:

好的,解决方案其实很简单。在应用程序属性文件中,您只需在它之前设置类路径。所以我移动了 src/main/resources 文件夹中的文件,并以这种方式将它们设置在属性文件中:

server.ssl.key-store =classpath:keystore.jks

就是这样。

【讨论】:

以上是关于启用 ssl 和 Elastic Beanstalk 的 Spring Boot - 找不到文件的主要内容,如果未能解决你的问题,请参考以下文章

Elastic Beanstalk 未创建 ssl.conf

为使用 Elastic Beanstalk 和 LightSail 的子域配置 SSL

如何让 SSL 与 Rails、AWS Elastic Beanstalk 和 Cloudflare 一起使用

Elastic Beanstalk 上的 SSL

如何让 SSL 与 Elastic Beanstalk、Route53 和 Cloudflare 一起使用

AWS Certificate Manager 和 Elastic Beanstalk:创建没有域名的 SSL