我使用Flask框架创建了一个小型Python站点。我已使用Elastic Beanstalk将其上传到AWS,并尝试配置环境以确保启用HTTPS。我以前使用ASP.NET和IIS完成了此操作,但没有使用Python / Apache。 (我对这个“堆栈”非常陌生)。如果我访问基础的Elastic beantalk URL,则可以正常访问网站(自己尝试)
http://flask-priceline.f8n9uir55a.ap-southeast-2.elasticbeanstalk.com
但是,当我尝试使用HTTPS或HTTP访问正确的DNS时,例如
http://plmonitoring.in-daws.api.net.au/或https://plmonitoring.in-daws.api.net.au/
我得到:
无法访问此站点plmonitoring.in-daws.api.net.au的服务器IP地址找不到。 尝试运行Windows网络诊断程序。 DNS_PROBE_FINISHED_NXDOMAIN
这就是我所做的。我已经在AWS中创建了有效证书。我还在Route 53中设置了适当的记录集/ CNAMES,以便我的别名指向我创建的负载均衡器。
我已经用经典的负载平衡器创建了Elastic Beanstalk环境。负载均衡器位于公共子网中,运行Web服务器的EC2实例位于私有子网中。 (此VPC是预先存在的,并且配置正确)。我已经在负载均衡器上创建了以下侦听器:
我已经通过以下.ebextensions配置文件完成了此操作:
private boolean isNetworkConnected() {
ConnectivityManager cm = (ConnectivityManager)
getSystemService(Context.CONNECTIVITY_SERVICE);
return cm.getActiveNetworkInfo() != null &&
cm.getActiveNetworkInfo().isConnected();
我在安全组中也进行了以下设置(我尝试将HTTP 80作为入站添加到Load Balancer,将其作为出站添加到EC2 /作为EC2的入站,并且不作任何更改)。这是负载均衡器安全组的入站:
负载均衡器输出:
EC2输入:
EC2输出:
我还将这个示例添加到.ebextensions文件夹中,希望它可以将HTTP重定向到HTTPS,以防用户输入HTTP而不是HTTPS-https://github.com/awsdocs/elastic-beanstalk-samples/blob/master/configuration-files/aws-provided/security-configuration/https-redirect/python/https-redirect-python.config
答案 0 :(得分:0)
最严重的人为错误。将记录设置为IPV4,而不是CNAME!。问题解决了。