当前位置: 首页 > 知识库问答 >
问题:

弹性豆茎-ExpressJS-HTTPS证书未出现

壤驷康裕
2023-03-14

我正试图用我的elastic beanstalk enviornment调试一种情况,在这种情况下,我的eb环境名称成功地识别了来自证书管理器的证书,并抛出了一个错误,因为我的证书是用于我的域而不是用于ElasticBeanstalk.com,但是当我试图访问beta.mysite.com的站点时,我注意到它仍然使用http而不是HTTPS。因此,我试图确定这是否是CNAME记录、expressjs设置或负载均衡器的问题。以下是我当前的设置:

SSL ID:.*mysite.com

  • 状态:已发出
  • 正在使用:是

负载均衡器:

>

  • 侦听器端口:80
  • 协议:http
  • 安全侦听器端口:443
  • 协议:https
  • 跨区域负载平衡:未选中
  • SSL证书ID:.*mysite.com

    默认设置的其余选项

    CNAME:

      null

    ExpressJS:

    • 我认为所有这些进程都应该存在于服务器实例中,而不是在后端代码中,因此我没有添加任何使用https的模块或选项。
  • 共有1个答案

    万俟经纶
    2023-03-14

    但是当我试图访问beta.mysite.com我的网站时,我注意到它仍然使用http而不是HTTPS。

    这只是因为您访问了http://beta.mysite.com而不是https://beta.mysite.com。注意如何同时访问http://stackoverflow.com和https://stackoverflow.com,这就是您的应用程序现在的配置方式。

    安装SSL证书不会自动导致端口80上的HTTP请求重定向到端口443上的HTTPS请求。您需要在Elastic Beanstalk的Nginx服务器或ExpressJS服务器代码中添加一些配置选项,以检测HTTP请求,并将它们重定向到HTTPS,如下所示。

     类似资料:
    • 是的,弹性豆茎应用程序是负载平衡的,并且确实有一个与之相关联的ELB。 我知道我可以直接应用于ELB我自己。但是我想通过弹性豆茎来应用它,这样env配置就保存到云形成模板上了。

    • 我可以用超文本传输协议浏览网站,但不能用https,我ChromeERR_CONNECTION_REFUSED。 我的环境是Nodejs(64bit AmazonLinux2015.09 v2.0)上的ExpresJS服务器,运行在Elastic Beanstalk上。我可以在端口80上telnet到EC2弹性公共IP,但在端口443上无法telnet,连接被拒绝。 设置 HTTPS 的步骤 >

    • 配置验证异常:AWS Elastic Beanstatk无法与Amazon EC2通信以确定是否为Elastic Load均衡创建自定义安全组。 在创建AWS Elastic Beanstalk应用程序时,我在尝试继续“查看和启动”时遇到了这个错误。我是新手。请帮忙。

    • 有人知道是否有可能将现有的AWS弹性豆茎环境更改为应用程序负载平衡器(而不是经典的负载平衡器)。 据我所知,只有应用程序ELB可以被AWS WAF和DDOS“屏蔽”保护,所以任何现有的EB应用程序都不能利用这些特性,因为他们有经典的ELB。

    • 我是AWS的新手,这个问题似乎很基本。然而,我需要看看我是否能找到解决方案。 我首先创建并启动了一个 EC2 实例,然后创建了一个弹性 Beanstalk 实例,并在该实例上部署了一个示例应用程序。默认情况下,弹性 Beanstalk 会将“默认环境”附加到此实例,我无法将其更改为我的 EC2 实例。如何将我的 EC2 实例(我之前创建的实例)附加到此弹性豆茎实例?我正在使用亚马逊免费套餐来学习。

    • 我似乎不能强迫https在弹性Beanstalk的自由使用层上。 关于如何在amazon elastic beanstalk上强制https而又不通过健康检查,我尝试了以下建议 使用此Apache重写规则 当我这样做时,http请求不会像我想的那样被重定向到https。相反,http页会正常加载。我也尝试使用X-Forwarded-Port报头,得到了同样的结果。 我也试过下面的重写规则 而此规则