要解决“AWS S3对于Route53的重定向在HTTPS下无法工作”的问题,您可以尝试使用AWS CloudFront作为中介来实现重定向。下面是一个解决方案的代码示例:
首先,创建一个AWS S3存储桶,并将其配置为静态网站托管。假设您的存储桶名称为example-bucket,并且您已经将您的重定向页面命名为index.html。
在存储桶中创建一个名为index.html的对象,并填写以下内容:
Redirecting to https://example.com...
将https://example.com替换为您要重定向的目标URL。
使用AWS CloudFront来配置S3存储桶的重定向。首先,创建一个CloudFront分配,并将源设置为S3存储桶example-bucket。确保启用“自定义域名”选项,并输入您的域名,例如example.com。
配置CloudFront分配的行为,将路径模式设置为“/”,并启用HTTPS。将目标设置为“自定义域名”,并输入您的目标URL,例如https://example.com。确保选择“重写HTTP响应代码”选项,并设置为“301 Moved Permanently”。
在Route53中创建一个新的A记录集,将记录集的“别名”设置为CloudFront分配的域名,将记录值设置为CloudFront分配的域名。
等待DNS记录的更新生效。由于AWS CloudFront在全球范围内具有分布式边缘节点,因此可能需要一些时间来完成DNS传播。
此时,当用户访问https://example.com时,他们将被重定向到您在CloudFront中配置的目标URL。