如何让 HTTPS 在网站上运行 - 特别是 AWS 中的 Elastic Beanstalk 网站
Posted
技术标签:
【中文标题】如何让 HTTPS 在网站上运行 - 特别是 AWS 中的 Elastic Beanstalk 网站【英文标题】:How to get HTTPS to work on a website - specifically an Elastic Beanstalk site in AWS 【发布时间】:2018-12-02 12:24:28 【问题描述】:我真的很难让我的基本网站(实际上只是一个没有任何更改的模板,只是运行 ASP.NET)使用 HTTPS。我正在使用 Elastic Beanstalk 环境来托管站点,并且站点 EC2 虚拟机位于负载均衡器(经典)后面。
我已按照指南here 并且相信我已经正确配置了所有内容,但是当我浏览到 https://www.playground.cloudy-skies.org/ 甚至是 http:// 版本时,我会收到 HTTP ERROR 503。
我使用 AWS 证书管理器创建了一个 SSL 证书:
我在 AWS 中配置了负载均衡器,如下所示:
根据网站文档,我的域名指向弹性 beanstalk 实例,而不是负载均衡器。我已经检查了 AWS 官方文档,它说几乎可以做到这一点。我哪里错了?如果我在 Fiddler 处于活动状态的情况下浏览该网站,我会得到:
请帮忙?我是一名软件开发人员,而不是一名网络人员,所以我在这里尽了最大努力,但我很挣扎,还没有成功创建一个使用 HTTPS 的网站。
【问题讨论】:
【参考方案1】:如果您使用 Beanstalk,您的 Route 53 将仅指向您的 Beanstalk 网址。您也可以更改甚至强制您的 Loadblancer,但它不会进行任何更改。
由于您的 HTTPS(端口 443)不工作,只需检查 EC2 实例 和 ELB(弹性负载均衡器) 的 安全组 .有时会发生安全组阻止您的端口。
因此,在您的入站规则中,(对于 ELB 和 EC2)应包括 443 端口
【讨论】:
嗨,卡兰,感谢您的回复!当您说 Route 53 将仅指向 beanstalk url 时...这就是文档所说的...并且它说这是负载平衡环境的正确步骤(例如,包含负载平衡器的环境)。你是说这不是正确的步骤吗?配置不对?我将检查您答案的第二部分 RE:安全组,但答案的第一部分不清楚?另外,关于安全组......我认为我应该允许端口 443 上的所有流量到 ELB,然后只允许来自 ELB 的端口 443 上的流量到 EC2。对吗? 嗨,James,对于您对 Route 53 的第一个疑问。Route 53 的作用是映射您的子域,现在取决于您是否希望子域应该映射到 beanstalk url 或 ELB(两者都是同一件事情)。当您使用 Beanstalk 时,最好只将您的子域映射到您的 beanstalk URL。使用 ELB 映射子域适用于不使用 Beanstalk 和手动配置的人。希望这能消除您对 Route 53 的疑虑。 **此处子域表示您托管区域中的“通配符” 关于您对安全组的第二个疑问。是的,您是正确的,无论是 ec2 还是 ELB,安全组都应该允许 443 端口。只需检查“来源” - 可以到达您的实例的流量 我将尝试所有这些事情/检查并尽快回复您:) 天啊!!!成功!!修复安全组入站/出站后,我有 https !!! ibb.co/iNtupo 太棒了!!!谢谢卡兰!以上是关于如何让 HTTPS 在网站上运行 - 特别是 AWS 中的 Elastic Beanstalk 网站的主要内容,如果未能解决你的问题,请参考以下文章
如何让我的 CSS @media 代码在移动设备上运行以使我的网站具有响应性?