首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Amazon为虚拟人设置HTTPS

用Amazon为虚拟人设置HTTPS
EN

Server Fault用户
提问于 2017-02-04 14:47:11
回答 1查看 1.5K关注 0票数 2

我为我的主机运行一个Amazon设置的网页。它使用一个EC2实例,并在HTTP上运行良好。但最近我也需要提供HTTPS。这就是我完全困惑的地方。EC2实例在Linux上运行Apache、PHP和MySQL。

我(抽象地)了解了HTTPS在非AWS世界中是如何工作的。(我从来没有做过。)但我认为这并不是使用AWS的最佳方法,这似乎包括在证书管理器中设置一些东西,然后将一个弹性负载均衡器连接到它。我有点不知所措。

我已经在证书管理器中成功地创建了一个证书。我建立了一个“目标”小组,似乎是正确的,并将其与证书连接起来。当我试图在我的主机前添加https://时,它会说服务器拒绝连接。当我进入ELB本身并访问它为ELB提供的URL时,我得到了一个临时可用的错误503服务。

我想我可能只是不理解这个问题,这里的AWS/HTTPS帖子似乎都假设你知道你想要做什么。有人能告诉我这些东西(证书、电子表格、EC2实例和Apache)是如何连接在一起的吗?谢谢。

EN

回答 1

Server Fault用户

发布于 2017-02-04 18:42:48

首先,不要觉得您必须沿着(ACM)/Load均衡器路线前进。这是一个很好的解决方案,但它是针对负载平衡器后面有几个服务器的情况而设计的,而不是一个单独的实例。

另一个可能更便宜的选择是在站点前面使用Cloudfront,带有ACM证书,或者在实例本身上使用Lets加密。

尽管如此,你问的是磅,所以我们开始:

如果您是AWS中负载平衡器的新手,您首先必须理解有两种类型: ELB和ALB。

ELB (弹性负载均衡器)是旧的‘经典风格’负载平衡器,它基本上通过平衡器中继连接,而不做任何花哨的逻辑。您将它抛到任意数量的实例前面,然后进入池中的随机服务器。

应用程序负载均衡器(,应用程序负载均衡器)稍微复杂一些,因为它们可以完成一些应用逻辑路由。在使用ALB时,可以定义目标组以及路由规则,这意味着您可以根据请求路径向不同的实例集发送通信量。ALB的使用方式类似于ELB,AWS似乎在推动它们的使用。

不管您使用哪种类型的LB,您仍然在实例前面放置一个平衡器,该实例将流量中继到源计算机。

当谈到AWS LB时,HTTPS/SSL使事情变得有点复杂,因为它们的配置方式略有不同。

如果您正在使用ELB,AWS接口中的listeners选项卡允许您配置端口映射。这就是你把“人们要求的”映射到“从哪里来的”的地方。在本例中,您可能需要80 -> 80和443 -> 80。因为您希望同时侦听http和https,但是只连接到服务器上的http,因为它没有https。对于更高级和更安全的配置,您可以在服务器上安装一个自签名证书,对连接端到端加密,然后使用443 -> 443。

如果您正在使用ALB,则listeners选项卡将再次将“人员请求的内容”映射到“来自何处”,但它不只是映射端口,而是映射到“目标组”。在大多数情况下,效果将与ELB相同,您正在将端口80和443连接到单个目标组。

ALB接口基本上将ELB接口的一部分提取到它自己的页面上,但是ELB和ALB都试图在这里实现相同的功能,定义实例/目标和健康检查。除非你有有效的目标和健康检查,否则你将得到503个错误。

使用ELB,您可以定义要查看哪些“实例”。实例选项卡将显示“状态”,这基本上是ELB是否会将流量路由到它。这应该是“在服务中”,至少在一个实例上,否则您将得到503。如果您获得任何其他状态,请尝试等待几分钟以使其稳定下来,如果它没有更新到InService,则您的实例有问题,或者您没有配置有效的健康检查。

对于ALB,目标的定义也是一样的。主要区别在于定义了要连接到实例上的端口,以及要连接到的实例。配置这一点的最常见方法是指向端口80上的实例,因为这是大多数ELB服务器正在运行的地方,尽管与ELB情况一样,为了增强安全性,您可能希望在实例上使用HTTPS,使用自签名证书将所有内容保持在端到端的加密状态。

与ELB类似,这里最重要的信息是目标状态,在这种情况下,您希望看到“健康”。如果你没有看到这个,等一小会儿,或者调查你的健康检查。

ALB和ELB都依赖于健康检查来确定它们是否应该将流量路由到您的实例。这通常有点简单。大多数人会将健康检查配置为指向一个相当简单的页面、网站上的某个内容或您网站的根目录,因为AWS每分钟会多次访问它。只有通过健康检查,实例才会得到转发的通信量。默认情况是点击网站的根目录。调整这些选项以最佳匹配您的网站是很重要的。我通常会将健康的线程设置为最小,以使服务器尽可能快地服务于流量,并将轮询间隔缩短到更快的时间。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/830576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档