【问题标题】:AWS Elastic Beanstalk Namecheap SSL ConfigurationAWS Elastic Beanstalk Namecheap SSL 配置
【发布时间】:2017-05-21 16:15:19
【问题描述】:

我的 iOS 软件平台在 AWS Elastic Beanstalk 上运行,并且有一个我们称之为“something.elasticbeanstalk.com”的 URL。我有一个我们称之为“website.com”的网站,我通过 Namecheap 购买并操作了 DNS 记录。我需要创建我的 iOS 客户端应用程序用来连接到服务器 HTTPS 的 URL,因为由于应用程序传输安全性,Apple 很快就会要求这样做。

我认为我应该做什么

我认为我应该做的是,为“website.com”创建一个 SSL 证书并将该 SSL 证书应用于 AWS EB 负载均衡器。然后我需要为“website.com”创建一个子域,将流量重定向到“something.elasticbeanstalk.com”。客户端应用程序连接到“website.com”的子域,该子域现在是 HTTPS 并重定向到“something.elsastic.beanstalk.com”。 正确吗?

到目前为止我做了什么

到目前为止,我使用 AWS Certificate Manager 为“website.com”创建了 SSL 证书。为此,我必须验证与“website.com”关联的电子邮件地址。然后,我将该 SSL 证书应用于 AWS 管理控制台中的环境负载均衡器。之后,我进入 Namecheap 并跟随this guide in the 'Domain Name & AWS 53 Management' section 去做。

我在this article 中读到我需要在 AWS Route53 中创建别名和/或设置名称服务器。我试过这样做,但不知道我在做什么,它似乎与我上面链接的 Medium 文章冲突,我遵循告诉我更改 URL 的 CNAME 记录和“website.com”的重定向 URL 记录.

问题

我该怎么做?

【问题讨论】:

  • 您是否将您的 DNS 完全从 Namecheap 移至 Route53?您可能只是在 Namecheap 中创建了一个 CNAM 条目,而根本没有使用 Route53。您还说您在 Route53 中制作了 SSL 证书,但这是一个与 SSL 证书没有任何关系的 DNS 服务。您可能在 AWS Certificate Manager 服务中制作了 SSL 证书。无论如何,SSL 证书与您域的 DNS 配置绝对没有关系。
  • 您在 Namecheap 上所做的就是您需要做的一切。如果您使用的是 Route53 而不是 Namecheap,则需要 Route53 的东西。您应该能够只删除该 Route53 托管区域,以防止为此收取更多费用。您链接到的那个教程很糟糕,并且您将整个 DNS 服务从 Namecheap 移动到 Route53,而没有在文章中解释您正在做什么。
  • 如果您需要“something.com”作为托管在其他地方的网站,那么您也不能让“something.com”指向托管在 EB 上的应用程序。您需要让“something.com”指向您托管网站的任何位置,并为指向弹性 beanstalk 的“api.something.com”等子域创建新的 CNAME 记录。
  • 没错。您可能还必须使用要用于应用程序的子域重新创建 SSL 证书。
  • 没有 URL 重定向记录。如果您需要将根域“website.com”重定向到像“www.website.com”这样的子域,则只需要重定向。忘记Route53。删除 Route53 上的托管区域,这样您就不会为此付费,而忘记它的存在。如果您将 DNS 托管从 Namecheap 移动到 Route53,则只需要复制名称服务器。您创建了一个 CNAME,表示 data.website.com 指向 Elastic Beanstalik 上的此应用程序。只需等待几个小时让 DNS 传播,您就完成了。

标签: amazon-web-services ssl https amazon-elastic-beanstalk amazon-route53


【解决方案1】:

情况

-我在 Elastic Beanstalk 上有一个解析服务器,其 URL 为“something.elasticbeanstalk.com”

-我有一个名为“website.com”的 Namecheap 域名

我需要什么

我需要让我的客户端应用程序连接到一个 HTTPS 地址,因为 Apple 很快就会要求它提供应用程序传输安全性。由于我无法使用 AWS 证书管理器为“something.elasticbeanstalk.com”获取 SSL 证书,因此我为“website.com”创建了一个。然后我需要让我的客户端应用程序连接到 HTTPS“website.com”,然后将其转发到“something.elasticbeanstalk.com”。这满足了 Apple 的 HTTPS 要求。

怎么做

  1. 使用 AWS Certificate Manager 为“website.com”制作 SSL 证书。您需要通过向管理员发送确认电子邮件来确认域。

  2. Apple 将“website.com”的 SSL 证书发送到 AWS EB 负载均衡器。转到您的 AWS EB 控制台,单击“配置”,单击“网络层”类别下的“负载平衡”。现在在第一个类别“负载均衡器”下,选择您创建的 SSL 记录并将其应用到“SSL 证书 ID”部分。

  3. 为“website.com”设置一个 CNAME 记录,其中包含您想要的任何“website.com”子域的主机。我选择“数据”作为我的主机值和子域(所以我的子域是“data.website.com”)。将 CNAME 记录的值设置为“something.elasticbeanstalk.com”。等待它传播。它通常很快,但并非总是如此。

  4. (我不确定这个特定步骤是否正确,但它对我有用)将 Parse-Server 的 serverURL 设置为“https://something.elasticbeanstalk.com”,将 publicServerURL 设置为“https://data.something.com

  5. 在客户端应用程序的解析“initializeWithConfiguration”方法中,使应用程序能够连接到服务器,将服务器 URL 更改为“https://data.something.com/parse”。注意:包括“/parse”,它是解析服务器的 MOUNT PATH。根据您的设置方式,此值可能对您有所不同,但我将其设置为“/parse”,因为这是我在 Parse-Server 文档中看到的。

注意事项

-我删除了所有 Route53 记录,因为它们在这里无关紧要,因为“something.com”DNS 服务由 Namecheap 控制。

-Namecheap 中的重定向 URL 记录是不必要的

【讨论】:

    猜你喜欢
    • 2017-01-07
    • 2020-12-12
    • 2023-03-17
    • 2017-02-28
    • 2020-08-27
    • 2016-12-08
    • 2013-04-11
    • 2016-08-18
    • 2017-11-20
    相关资源
    最近更新 更多