当前位置: 首页 > 知识库问答 >
问题:

AWS 弹性负载均衡器的 SSL 证书配置错误

白高逸
2023-03-14

我正在尝试配置 SSL 证书以通过 AWS 弹性负载均衡支持 HTTPS。我已配置所有内容:

1)在AWS ELB(包括证书链)中配置GoDaddy SSL证书。
2)让ELB侦听器看起来像这样:
客户端---

*   Trying 52.6.xxx.xx...
* Connected to service.acme.com (52.6.xxx.xxx) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
* Server certificate: pixxeen.com
* Server certificate: Go Daddy Secure Certificate Authority - G2
* Server certificate: Go Daddy Root Certificate Authority - G2
> GET / HTTP/1.1
> Host: service.acme.com
> User-Agent: curl/7.43.0
> Accept: */*
> 
< HTTP/1.1 200 OK
< Accept-Ranges: bytes
< Content-Type: text/html
< Date: Mon, 22 Feb 2016 14:06:08 GMT 
< ETag: W/"154-1455797592000"
< Last-Modified: Thu, 18 Feb 2016 12:13:12 GMT
< Server: Apache-Coyote/1.1
< Content-Length: 154
< Connection: keep-alive
< 
<html>
  <head>
    <title>Acme Service Application</title>
  </head>
  <body bgcolor=white>
      <p>Acme Service Application</p>
  </body>
* Connection #0 to host service.acme.com left intact

HTML 是我为 ELB 部署的索引.html页面,用于确认 EC2 实例已启动并正在运行。

但是,我遇到的问题是,如果任何移动客户端框架命中 service.acme.com 服务endpoint(okhttp或AFNetworking),我看到以下内容(这是一个okhttp调用):

02-22 08:52:10.513 2564-2564/com.acme W/System.err: javax.net.ssl.SSLPeerUnverifiedException: Hostname service.acme.com not verified:
02-22 08:52:10.513 2564-2564/com.acme W/System.err:     certificate: sha1/+axZF3Oyaatuoio5rsmNhUUhOZE=
02-22 08:52:10.513 2564-2564/com.acme W/System.err:     DN: CN=acme.com,OU=Domain Control Validated
02-22 08:52:10.513 2564-2564/com.acme W/System.err:     subjectAltNames: [acme.com, www.acme.com]

那么,有没有人知道我哪里出错了?

我在StackOverflow周围划桨,遇到了这篇文章(我见过的最详细的帖子之一):在Amazon EC2 ELB上安装SSL证书,它似乎证实了我所做的所有步骤。

共有2个答案

颛孙兴旺
2023-03-14

附加到ELB的证书将根据cname而不是ELB名称本身进行验证。如果您已将证书x.y.z.com附加到ELB,则cname应与x.y.z.com而不是ELB cname匹配。

如果您有通配符cert *.x.y.z.com,那么您的cname可以是anything.x.y.z.com兼容的。

贾俊艾
2023-03-14

您的证书对service.acme无效。com域名。

它只对确切的主机有效acme.com和www.acme.com.

如果忽略< code>curl的< code>-k(不安全)选项,您会清楚地看到这个错误(这不是一个好的测试标志,因为它有意忽略了大多数SSL问题)

 类似资料:
  • 我对Nginx完全陌生。 我想使用免费版本(不是nginx plus)负载平衡(反向代理)之间的3个服务器和连接必须是SSL/443。 我是将SSL证书放在NGINX负载均衡器服务器上,还是将3个SSL证书分别放在3个web服务器上?我听到的评价褒贬不一。我在寻找最好的表现。 其他信息:我使用通配符SSL证书和web其他web服务器是IIS和IP_Hash,以便在相同的web服务器上保持会话。

  • 我在将https添加到我的EC2实例时遇到了一个问题,也许你们可以找到让它工作的答案。 我有一个负载平衡器,它正在将连接转发到我的EC2实例,我已将SSL证书添加到负载平衡器,一切正常,我已将侦听器添加到端口443,该端口将转发到我的实例的端口443,我已将Apache配置为在端口443和80上侦听,现在这里是我的负载平衡器的屏幕截图: SSL证书有效,在端口80(HTTP)上一切正常,但如果我尝

  • 我们在AWS VPC中有一个面向内部的应用程序负载平衡器。运行在公用子网中的web应用程序正在访问此文件。该web应用位于自定义域url后面,并使用SSL证书进行安全保护。由于API负载平衡器未应用SSL,因此从web app到API LB的通信失败。 是否可以在AWS中为面向内部的负载平衡器获取SSL证书?

  • 我有一个在AWS上运行的项目。结构如下: 我已使用AWS证书管理器为负载平衡器创建了一个证书。所以现在的流量是: 但由于加载网页时实例上没有证书,因此会收到“站点不安全”警告。 如何创建从客户端到负载均衡器后面的任何实例的完整SSL连接? 编辑 以下是nginx配置(适用于所有实例)

  • 我可以为运行相同实例的两个负载平衡器提供一个SSL证书吗?每个实例都有两个web站点(但只有一个应用程序),基于URL点击地址栏,web页面就来了。 为此,我可以为负载平衡器或单独的证书使用单个SSL证书吗? 提前感谢。。。。

  • 我正在尝试为我的AWS EKS群集的AWS负载平衡器配置SSL。负载平衡器正在代理我的群集上运行的Traefik实例。这在HTTP上运行良好。 然后,我在Cert Manager中创建了我的AWS证书,复制了ARN并遵循了文档的这一部分:服务-Kubernetes 但是证书没有链接到AWS负载平衡器中的侦听器。我在网上找不到更多的文档或工作示例。有人能给我指出一个吗? LoadBalancer配置