java—在docker拉入的spring boot应用程序中实现letsencrypt

ejk8hzay  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(424)

我正在努力实现 LetsEncrypt 在 Spring 启动应用程序。我使用docker进行部署,在本地创建一个docker映像,将其推送到docker hub,然后在ubuntu中使用这个docker命令运行它 docker run -d -p 80:80 myapp:latest 这只是 http 所以现在我想用 LetsEncrypt 但我不知道怎么做。任何帮助或对某些链接的任何方向将不胜感激。谢谢

mdfafbf1

mdfafbf11#

体系结构:需要反向代理+容器编排工具

如果您的spring引导容器只提供http请求,那么您可以将其与tls终止代理相链接,该代理将接受传入的tls连接并将请求转发到您的容器。
反向代理的许多实现都是可用的,它们可以扮演tls终止代理的角色(请参阅wikipedia上的这一段),例如使用您建议的let's encrypt。
这些实现中的大多数还可以作为docker映像使用,因此您可能需要依赖容器编排工具(如docker compose)和 docker-compose.yml 为两个容器创建专用网络以进行通信(或者,使用更复杂的编排解决方案,例如kubernetes)。

几个docker实现的概述

举几个实现这一点的docker映像的例子,例如,您可以使用一个流行的反向代理(gitea的文档中提到了前两个):
nginx(也捆绑在诸如https portal之类的项目中以自动生成证书),
apache2 httpd公司,
tr公司æfik,它还提供了一个作为webapp的“监控 Jmeter 板”(另请参阅官方文档,其中提供了许多关于自动证书生成的详细信息)

相关问题