我想在这里保持理智,但是这个配置现在已经多次检查了几个教程,它只是无法正常工作。 我正在为我的网站公开面对ELB,背后是EC2实例。我需要的是设置一个由S3存储桶托管的维护网站。 我做的是,我为健康检查创建了dns条目别名,xxx-healthcheck.xxx.com指向ELB内部AWS域名。 我为我的网站xxx.xxx.com创建了一个A别名,指向我的ELB内部地址。然后我将设置标记为故障转移,添加到健康检查上方并将其标记为评估其健康状况。 我添加了下一条记录 - 对于我的S3存储桶(S3存储桶名称为xxx.xxx.com)。别名A,再次。别名与主地址相同,因此xxx.xxx.com。我将其标记为故障转移和辅助。 我在两个实例上都关闭了服务,healthcheck被标记为不健康。当我试图访问网站时,它正在暂停 - 没有维护站点。
请。 请帮忙。
干杯 甲
答案 0 :(得分:0)
您使用的是TLS / SSL吗?如果您的ELB网站是通过HTTPS提供的,那么在故障转移后,浏览器会尝试使用HTTPS甚至是S3(这是正常的,它被称为HSTS)。如果您使用HTTP,仍会提供您的内容。要验证这一点,请使用其他浏览器或清除与您的域相关的所有历史记录(如果这不起作用,请执行google&#34; chrome delete hsts domain&#34;如果您在Chrome上),并打开您的域名使用http://<domain>
。
如果您在S3上启用了静态网站托管并在Route53中添加了静态S3 URL(通过A记录别名)作为故障转移辅助路由,则这将无法正常工作,因为S3未配置为通过您的域使用HTTPS接收流量。 / p>
此解决方案是创建CloudFront分配并添加S3存储桶作为源,在CloudFront中添加CNAME值作为域名,并在CloudFront上附加/配置SSL证书。现在,在Route53中,将CloudFront分配的URL添加为故障转移条目(A记录别名)。