我当前的堆栈非常简单: 后端:Django 2.1.1,python 3.6我正在使用应用程序负载平衡器在弹性beantalk上运行它。我选择了ssl证书后,端口80正在侦听HTTP,端口443已侦听HTTPS。我没有选择SSL策略,因为我不知道这些是做什么的。对于安全组,对于端口80和端口443,我的入站源均设置为0.0.0.0/0和:: / 0。
前端:React,主要使用axios进行请求(axios.get,axios.put等)。我将其托管在两个s3存储桶中,即我所有静态文件所在的mainsite.com和将HTTP重定向到该站点的www.mainsite.com。我还有2个cloudfront发行版,它们使用与我用于负载均衡器的证书相同的证书将HTTP重定向到HTTPs。然后,我创建了2个记录集,并将别名设置为云分布。以前,当我尝试发出HTTP请求时,它将起作用。现在,我已将网址更新为HTTPS网址,但最终显示为“ ERR_CONNECTION_TIMED_OUT”。
这是我的.ebextensions文件夹中的django.config:
option_settings:
aws:elasticbeanstalk:container:python:
WSGIPath: bonharvest/wsgi.py
container_commands:
01_wsgipass:
command: 'echo "WSGIPassAuthorization On" >> ../wsgi.conf'
答案 0 :(得分:0)
您提到您尚未选择SSL策略。根据AWS的说法:
Elastic Load Balancing使用安全套接字层(SSL)协商 配置,称为安全策略,以协商SSL 客户端与负载均衡器之间的连接。安全政策 是协议和密码的组合。该协议建立了一个 客户端和服务器之间的安全连接,并确保所有 在客户端和负载均衡器之间传递的数据是私有的。
建议将 ELBSecurityPolicy-2016-08 策略用于一般用途。因此,通过选择SSL策略并尝试访问您的URL来修改Elastic Beanstalk配置中的设置。有关SSL策略的更多信息,请参考此链接。
https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html