3

我能够让 Cloudfront 使用 S3 实例,但我被 EC2 困住了(我是 AWS 的新手)。My Go 服务器可通过端口 443 上的弹性 IP 访问。

创建 Cloudfront 分配时,我使用我的 EC2 的公共 DNS (IPv4) 作为源,仅 HTTPS,备用域名到我在 Route43 中定义的主机区域,来自证书管理器的自定义 SSL 证书(已颁发)。Cloudfront 分发的状态为已部署且已启用状态。

如果我尝试使用我设置的子域访问 Cloudfront 发行版,我只会得到“未找到服务器”。如果我尝试使用给定的 Cloudfront 域名访问 Cloudfront 分配,我会收到“502 错误,无法满足请求。CloudFront 尝试与源建立连接,但尝试失败或源关闭了连接。”

我在这个过程中还缺少更多步骤吗?我以为我可以使用 EC2 作为来源。

使用 Route43 的 DNS,通过 GoDaddy 注册的域

云端域名:d2yxz5aawjiy26.cloudfront.net

子域:api.tranquility.app

弹性 IP:35.182.112.85 在端口 443 上运行

编辑:如果重要的话,我正在使用 docker-compose 中的应用程序映射端口 443 到 8080 运行 docker。

更新:也许与https://docs.aws.amazon.com/acm/latest/userguide/acm-services.html有关,我应该为我的 ec2 实例使用负载均衡器。

4

1 回答 1

1

我最终采取了替代路线并使用了 Elastic Beanstalk,然后将 Cloudfront 源切换到 Elastic Beanstalk 实例的 URL。我在负载均衡器的端口 443 上添加了一个 HTTPS 侦听器,并在 Elastic Beanstalk 实例上的端口 80 上添加了一个 HTTPS 侦听器。我也错过了 Route 53 给我的名称服务器,因为我的 DNS 与它们在一起,但 Domain 与 GoDaddy 在一起——所以我将四个 NS 记录从 Route 53 添加到 GoDaddy。

于 2018-08-22T12:01:13.873 回答