我试着在这里保持理智,但是这个配置现在已经被检查了几次,并且它就是不工作。我有一个面向公众的ELB为我的网站背后的EC2实例。我需要的是设置一个维护网站,从S3桶托管。我所做的是,我为healthcheck xxx-healthcheck.xxx.com创建了dns条目A别名,指向ELB内部AWS域名。我为我的网站xxx.xxx.com创建了一个A别名,指向我的ELB内部地址。然后,我将设置标记为failover,将其添加到health health之上,并将其标记为evaluate its。我为我的S3存储桶添加了下一条记录(S3存储桶名称为xxx.xxx.com)。别名A,再说一遍。别名的名称与主地址相同,因此为xxx.xxx.com。我将其标记为故障转移和辅助。我关闭了两个实例的服务,healthcheck标记为不健康。当我尝试访问网站时,它超时了-在维护站点下没有。
请。求求你帮帮我。
干杯A
发布于 2018-05-30 11:36:44
您是否在使用TLS/SSL?如果来自ELB的网站是通过HTTPS提供服务的,那么即使在故障转移之后,浏览器也会尝试使用HTTPS,即使是S3 (这是正常的,这被称为HSTS)。如果您使用HTTP,则仍将提供您的内容。要验证这一点,请使用不同的浏览器或清除与您的域名相关的所有历史记录(如果这样做不起作用,如果您使用Chrome,请谷歌"chrome delete hsts domain“),然后使用http://<domain>打开您的域名。
如果您在S3上启用了静态网站托管,并将静态HTTPS (通过A记录别名)添加为Route53中的故障转移辅助路由,则这将不起作用,因为S3未配置为通过您的域使用S3接收流量。
解决方案是创建一个CloudFront分发,并添加您的S3存储桶作为源,添加CloudFront中的CNAME值作为您的域名,并在CloudFront上附加/配置SSL证书。现在,在您的Route53中,添加CloudFront分发版的URL作为故障转移条目(A记录别名)。
https://stackoverflow.com/questions/42352938
复制相似问题