Я пытаюсь (и в основном преуспел) в настройке статического веб-сайта на S3, который обслуживается через URL-адреса www.example.com и example.com (оба эти приложения работают нормально по https с использованием сертификата, предоставленного через ACM).Оба этих домена указывают на настройку распределения облачного фронта с корзиной S3 в качестве конечной точки на маршруте 53.
У меня также есть несколько экземпляров Elastic Beanstalk, которые обслуживаются через разные поддомены.app.example.com указывает на одну обслуживающую страницу, отличную от целевой страницы, а api.example.com обслуживает API.Все это прекрасно работает и настроено через Route 53 для поддоменов.
Единственное, что не работает, у меня есть следующие настройки для перенаправления:
<RoutingRules>
<RoutingRule>
<Condition>
<KeyPrefixEquals>login/</KeyPrefixEquals>
</Condition>
<Redirect>
<Protocol>https</Protocol>
<HostName>app.example.com</HostName>
<ReplaceKeyPrefixWith>login/</ReplaceKeyPrefixWith>
</Redirect>
</RoutingRule>
</RoutingRules>
Так что яЯ надеюсь, что случится так, что когда кто-то посещает (www.) example.com, он переходит на целевую страницу, которая размещена на S3, а когда он переходит на (www.) example.com/login, он переходит на (www.) app.example..com / login (который указывает на ELB).Это НЕ работает, когда я использую HTTPS для доступа к https://(www.)example.com/login, но работает, если я просто захожу на свой URL-адрес корзины s3 через http: http://example.com.s3 -website.ca-central-1.amazonaws.com / login Это успешно перенаправляет на app.example.com/login.
Не знаете, чего мне не хватает, но правила перенаправления в свойствах статического веб-сайта S3 не работают через HTTPS, поскольку имя хоста отличается от имени хоста фактической корзины s3?Это все, о чем я могу думать, так как он работает нормально, если я получаю доступ к конечной точке из URL-адреса s3, не проходя через мое доменное имя с сертификатом SSL.