HTTPS 不起作用(在基于 AWS Elastic Beanstalk 的站点上)
Posted
技术标签:
【中文标题】HTTPS 不起作用(在基于 AWS Elastic Beanstalk 的站点上)【英文标题】:HTTPS not working (on AWS Elastic Beanstalk based site) 【发布时间】:2014-08-26 16:26:54 【问题描述】:该站点在 HTTP 上运行良好,但在 HTTPS 上无法运行。 我已按照此页面上的所有步骤创建自签名证书并将其添加到我的 Elastic Beanstalk 环境中。 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/configuring-https.html
我还使用以下命令从 IAM 获得了成功的证书响应: aws iam get-server-certificate --server-certificate-name
使用证书更新 Elastic Beanstalk 后,我还向安全组添加了一条规则,允许从 0.0.0.0/0 到端口 443 的入站流量。 最后,我还验证了我的负载平衡器侦听器已正确设置了 HTTPS。
尽管如此,我对 https 的调用并没有解决,而 http 工作得非常好。 对此还有其他想法吗?任何帮助将不胜感激。
如果您需要更多信息,请告诉我。急切地寻求对此的一些见解/帮助。
无论如何,由于我的站点/代码无法解决此问题,我尝试在 Elastic Beanstalk 上提供的示例站点上设置 HTTPS。有趣的是,即使这样也行不通。
【问题讨论】:
这个问题似乎离题了,因为它与编程无关。请参阅帮助中心的What topics can I ask about here。也许Server Fault、Webmaster Stack Exchange 或Web Apps Stack Exchange 会是一个更好的提问地点。 这是一个好点......虽然最初我的疑虑更多是我在 Grails 应用程序中使用的设置,但当我发布时,大部分线索都指向服务器设置,因此我在帖子中省略了与 Grails 相关的问题,这很可能使该问题偏离了本论坛的主题。感谢您指出这一点。 【参考方案1】:我想提供一个我终于能够解决问题的更新。 根本原因是我错过了为负载均衡器的安全组设置入站规则。
无论出于何种原因,当我阅读文档时,我了解到需要为实例的安全组(而不是负载均衡器)设置入站规则。只有在我开始跟踪负载均衡器之后,我才意识到我或许应该尝试为负载均衡器的安全组设置规则。这样,问题就解决了。以下是我使用的设置。
HTTPS 443 HTTP 80 <name of the certificate>
我不得不说,文档可能会更清楚一些,以清楚地确定负载均衡器(而不是实例)的安全组所需的更改。
【讨论】:
点赞@Neo 非常有帮助!!但好吧,我不会说这是你的错。我想说,Amazon Docs 很神秘!他们可以做得更好......这太令人困惑和误导......我希望他们能重新做他们的文档网站。 这是一个很好的观点@Benjamin...我刚刚接受了答案:) 这个***.com/questions/42801974/…有答案吗 什么是“证书名称?”创建证书后,证书管理器下的证书名称对我来说是空白的。 在 2018 年仍然有帮助!【参考方案2】:亚马逊最近发布了 AWS Certificate Manager:
转到https://console.aws.amazon.com/acm/home 添加您的域并通过电子邮件验证它 颁发证书后,按照步骤将其部署到您的 Elastic Load Balancer(并轻松设置您的安全组)从性能的角度来看,事件更好:
由于 ELB 支持 SSL 卸载,将证书部署到负载 平衡器(而不是它后面的 EC2 实例)将减少 实例需要完成的加密和解密工作量 处理。
关注文档以获取更多信息:
https://aws.amazon.com/fr/blogs/aws/new-aws-certificate-manager-deploy-ssltls-based-apps-on-aws/
【讨论】:
虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review “AWS Certificate Manager (ACM) 现已在美国东部(弗吉尼亚北部)区域推出,其他区域正在开发中” 添加到它 - 为了让它正常工作,你必须从你自己的域设置一个 CNAME,bcos 证书颁发给你的域,因此如果你使用弹性 beanstalk,浏览器会显示警告网址。【参考方案3】:我不敢相信……但这表明 AWS 控制台有多糟糕……我不得不向下滚动并单击一个不可见按钮上的“应用”,当它在添加后显示“等待创建”时我认为它正在工作...facepalm。
【讨论】:
这是传真 - 永远不要使用 AWS 控制台,这是最糟糕的。我只是做了同样的事情以上是关于HTTPS 不起作用(在基于 AWS Elastic Beanstalk 的站点上)的主要内容,如果未能解决你的问题,请参考以下文章
AWS Elastic Beanstalk HTTPS 不起作用
使用 AWS Elastic Beanstalk 重定向到 https 不起作用
通过云端的 https 和 AWS 的 S3 存储桶不起作用
AWS beanstalk 应用程序 https 配置不起作用
AWS Elastic Beanstalk 负载均衡器 SSL/HTTPS 不起作用
在 AWS Elastic Beanstalk 中部署后浏览 https 时,Laravel 资产、路由和 url() 不起作用