ssl - 带有自签名证书的后端

标签 ssl https vue.js kubernetes

我正在构建一个后端/前端分离的网站。现在这个网站托管在我家里的 Kubernetes 集群上。一个 pod 用于前端,另一个用于后端。
这些 pod 可通过 Traefic 访问。我有内部 DNS 名称(即 backend.home.localfrontend.home.local)来访问它。我生成了一个自签名 CA,它处理我的 .home.local 私有(private)域上的 SSL,这样我就可以从我的注册了我的私有(private) CA 的计算机访问我的私有(private)网络中的它们。

我的前端也通过 HTTPS 使用相同的 url(在 .home.local 中)与我的后端通信。我的前端知道 CA(我按 here 进行)。

我的前端也有一个指向外部域名。我可以通过 HTTPS 在我的网络内外毫无问题地访问它。

好的,到目前为止一切顺利。我的问题是,当我通过我的外部域名访问我的前端时,当我使用一台已注册我的私有(private) CA 的计算机时,我的前端成功与后端通信,但失败并显示 err_cert_authority_invalid当我在没有 CA 的情况下使用计算机时。

据我所知,最终用户必须拥有网站所有资源的 CA,否则浏览器会抛出错误,即使前端使用自己的 CA 启动与后端的其他 SSL 连接。

我也尝试停用前端和后端之间的 https,但这次我遇到了混合内容错误...不是更好。

我是否不可避免地必须有一个后端可以通过适当的 let's encrypt 证书从外部访问?我希望有一个后端无法通过外部访问,但我不知道我是否可以正确地做到这一点。

希望这篇文章不要太乱。 祝你有美好的一天。

最佳答案

Do I inevitably have to have a backend accessible from outside with a proper let's encrypt certificate ?

是的,是这样的。这并不一定意味着你必须改变你的后端服务,你可以通过 traefik 为你的后端做 SSL 终止。通过 traefik 设置 Let's Encrypt 是完全自动化的过程,应该相当简单。

想一想 - HTTPS 不仅仅是一个“可有可无”的功能,它对于安全性至关重要。所有通过公共(public)网络进行的通信都应该安全进行。

关于ssl - 带有自签名证书的后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50074761/

相关文章:

c# - 当服务器响应 TLS 1.1 时,.net 4.7 无法创建 SSL channel

node.js - Node 服务器响应时间意外延迟

css - SCSS浅色和深色主题颜色,如何使其工作?

vue.js - 安装 VueJS CLI 时如何修复 npm WARN 已弃用错误

ruby-on-rails - 使用 SSL/HTTPS 时返回远程 IP 为 127.0.0.1

svn 不接受证书,但 s_client 接受

node.js - https.createServer 错误 : SSL_CTX_use_certificate: ca md too weak

iOS 应用 SSL 握手失败

javascript - 如何通过 $refs 将类添加到 Vue 组件

c++ - SSL_CTX_use_PrivateKey_file() 失败