代码之家  ›  专栏  ›  技术社区  ›  user2233706

带有弹性Beanstalk的AWS SSL证书:无法访问HTTPS站点

  •  6
  • user2233706  · 技术社区  · 7 年前

    当我将AWS证书与我的Elastic Beanstalk应用程序关联,并使用https访问域时,我得到“无法访问此站点,mydomain”。com拒绝连接。”我可以使用http访问该网站。

    我用AWS的ACM创建了一个安全证书。我添加了我的域名,例如。com,以及作为证书子域的其他名称。在我应用程序的环境“负载平衡”部分中,我设置了以下内容:

    enter image description here

    我设置了名为 awseb-e-abc123-stack-* enter image description here

    另一个安全组名为 awseb-e-abc123-stack-AWSEBLoadBalancerSecurityGroup-*

    enter image description here

    不过,“AWSEBLoadBalancerSecurityGroup”安全组的条目似乎什么都没有做,因为删除所有条目仍然允许HTTP通信工作。

    在里面 .elasticbeanstalk\securelistener.config

    option_settings:
      aws:elb:listener:443:
        SSLCertificateId: <my certificate's ARN>
        ListenerProtocol: HTTPS
        InstancePort: 80
    

    这是的输出 curl -vL https://<my domain> :

    * Rebuilt URL to: https://<my domain>/
    *   Trying <my elastic IP>...
    * connect to <my elastic IP> port 443 failed: Connection refused
    * Failed to connect to <my domain> port 443: Connection refused
    * Closing connection 0
    curl: (7) Failed to connect to <my domain> port 443: Connection refused
    

    我使用一个单独的域名注册器来设置我的域名,并设置我的域的DNS a记录IP地址等于我的弹性IP。

    [编辑]

    我还缺什么吗?

    [编辑2]

    http://sub.testdomain.com https://sub.testdoamin.com .两个问题:

    • 在CNAME记录中使用负载平衡器的公共DNS可以吗?我不能用*elasticbeanstalk。因为它可能会改变,所以我想知道同样的情况是否适用于这里
    • 我怎样才能保证 https://testdomain.com (无子域)。用这种方法似乎不可能
    1 回复  |  直到 7 年前
        1
  •  6
  •   user2233706    4 年前

    问题是,您必须在域中创建CNAME记录,并使用负载平衡器DNS名称作为地址。如果使用弹性IP,请求将不会发送到负载平衡器。

    • AWS says 这没关系
    • 您不能直接这样做,因为AWS不允许您将弹性IP分配给负载平衡器。你可以做的是有一个重定向testdomain的URL记录。com收件人 https://www.testdomain.com
    推荐文章