让我们在GKE上用HApRoxy加密

问题描述 投票:0回答:1

我正在关注一些文章,以在我的应用程序上实现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/如何在digitalocean-kubernetes上设置nginx证书和证书管理器

我需要向我的域/托管服务提供商询问证书和密钥吗?或者,我可以使用ACME生成另一个主机名为apps.mydomain.com的证书?

即使我从托管提供的网站(有一个选项-您拥有服务器的用户)下载了证书和密钥,也仅在Ingress中使用了证书和密钥(将证书和ley用作秘密)。但是我的网站变成了不安全模式,并且卷曲API https://apps.mydomain.com/CreteUser时出现错误:

TCP_NODELAY设置

  • schannel:无法接收握手,需要更多数据
  • schannel:与apps.mydomain.com端口443的SSL / TLS连接(步骤2/3)
  • schannel:加密数据得到1845
  • schannel:加密的数据缓冲区:偏移量1845长度4096
  • schannel:SNI或证书检查失败:SEC_E_WRONG_PRINCIPAL(0x80090322)-目标主体名称不正确。
  • 关闭连接0
  • schannel:使用demo.apps.product.barnsleypujo.co.uk端口443关闭SSL / TLS连接
  • schannel:清除安全上下文句柄curl:(35)schannel:SNI或证书检查失败:SEC_E_WRONG_PRINCIPAL(0x80090322)-目标主体名称不正确。

您能帮帮我吗?

谢谢,Suvendu

ssl kubernetes haproxy lets-encrypt
1个回答
0
投票

证书主题(*.mydomain.com)中的星号表示您可以用所需的任何内容替换名称的第一个域名部分,例如apps.mydomain.commail.mydomain.com

RFC2818状态:

如果给定类型中存在多个标识,证书(例如,多个dNSName名称,以下任意一项的匹配项该集合被认为是可以接受的。)名称可能包含通配符字符*,被认为与任何单个域名匹配组件或组件片段。例如,。a.com与foo.a.com匹配,但不是bar.foo.a.com。 f。com匹配foo.com,但不匹配bar.com。

在您的错误消息中,您的名称为demo.apps.product.mydomain.com,与通配符证书不匹配,因此显示错误SEC_E_WRONG_PRINCIPAL

要解决此问题,请替换点,例如demo-apps-product.mydomain.com或没有点的完全不同的东西。

© www.soinside.com 2019 - 2024. All rights reserved.