我正在关注一些文章,以在我的应用程序上实现SSL。但是无法理解如何生成证书,或者是否需要生成证书?
最主要的是,从概念上讲,我无法将它们放在一起。
让我解释一下情况。
我正在使用HAProcxy Ingress Controller和HTTP(S)L7负载均衡器在GKE群集中运行“用户注册”(基于REST API)应用程序。我有一个托管我的网站的现有域(例如mydomain.com)。托管平台已提供SSL证书,该证书可保护通配域(* .mydomain.com),并且我的网站以http(冒号)(斜杠斜杠)mydomain.com打开。我创建了一个子域apps.mydomain.com,并将“ A”记录指向GCP HTTP(S)负载平衡器IP,以便可以通过Internet访问该应用程序。我可以在端口80上通过Internet访问我的应用程序。但是在Post 443(带有https)上它不起作用。
在文章中,我需要使用ACME生成证书和密钥,并且需要在Cluster Issuer和Ingress中使用相同的证书和密钥。
ref#digitalocean.com/community/tutorials/how-to-to-set-an-nginx-ingress-with-cert-manager-on-digitalocean-kubernetes
我需要向我的域/托管服务提供商询问证书和密钥吗? 或者我可以使用ACME生成另一个主机名为apps.mydomain.com的证书?
即使我从托管提供的网站(有一个选项-您拥有服务器的用户)下载了证书和密钥,也仅在Ingress中使用了该证书和密钥(将证书和ley用作秘密)。但是我的网站变成了不安全模式,并且卷曲API https://apps.mydomain.com/CreteUser时出现错误:
你能帮我吗?
谢谢, Suvendu
答案 0 :(得分:1)
证书主题(*.example.com
中的星号表示您可以用所需的任何内容替换名称的第一个域名部分,例如apps.example.com
,mail.example.com
等
RFC2818状态:
如果在给定类型中存在多个给定类型的标识 证书(例如,多个dNSName名称,以下任意一项的匹配项 该集合被认为是可以接受的。)名称可能包含通配符 字符*,被认为与任何单个域名匹配 组件或组件片段。例如, .a.com与foo.a.com匹配,但 不是bar.foo.a.com。 f .com与foo.com匹配,但与bar.com不匹配。
在您的错误消息中,您的名字为demo.apps.product.example.com
,与通配符证书不匹配,因此会出现错误SEC_E_WRONG_PRINCIPAL
。
要解决此问题,请替换点,例如demo-apps-product.example.com
或没有点的完全不同的东西。