我正在建立一个分离后端/前端的网站。目前,这个网站是在我家的Kubernetes集群上托管的。前端有一个吊舱,后端有另一个吊舱
这些豆荚可通过Traefic进入。我有内部DNS名称(即backend.home.local
和frontend.home.local
)来访问它。我已经生成了一个自签名CA,用于处理.home.local
私有域中的SSL,因此我可以通过我的计算机访问我的私有网络,这些网络已经注册了我的私有CA.
我的前端也通过HTTPS使用相同的网址(在.home.local
中)与我的后端进行通信。我的前端知道CA(我继续像here)。
我的前端也有一个外部域名。我可以通过HTTPS访问它,在网络外部和内部都没有问题。
好到目前为止一切顺利。我的问题是,当我通过外部域名访问我的前端时,当我使用已经注册了我的私有CA的计算机但是当err_cert_authority_invalid
失败时,我的前端成功与后端通信我在没有CA的情况下使用计算机。
据我所知,最终用户必须拥有网站所有资源的CA,否则浏览器会抛出错误,即使前端发起与后端的其他SSL连接以及自己的CA.
我还尝试在前端和后端之间停用https,但这次我混合了内容错误......不是更好。
我是否不可避免地需要通过适当的加密证书从外部访问后端?我希望有一个后端无法通过外部访问,但我不知道我是否能够正确地做到这一点。
我希望这篇文章不要太乱。 祝你有个美好的一天。
答案 0 :(得分:0)
我是否不可避免地需要通过适当的let加密证书从外部访问后端?
是的,就是这样。这并不一定意味着您必须更改后端服务,您可以通过traefik为后端进行SSL终止。通过traefik设置Let的加密是完全自动化的过程,它应该相当容易。
考虑一下 - HTTPS不仅仅是一个“很好的”功能,它对于安全性至关重要。所有通过公共网络进行的通信都应该安全地进行。