Cloudfront не кэширует пропущенные страницы - PullRequest
0 голосов
/ 31 марта 2020

Итак, чтобы объяснить проблему, у меня есть корзина S3 со стационарным сайтом c и CloudFront в качестве CDN. На S3 индекс и документ об ошибке оба index.html. Поэтому, когда я go до subdomain.example.com получаю index.html и получаю Hit from Cloudfront.

Однако моя страница c stati - это страница Vue с маршрутизатором, а путь по умолчанию - /en, поэтому когда я перезагружаю страницу subdomain.example.com/en, я получаю Error from cloudfront. То же самое происходит, если я пытаюсь обновить sh после первого попадания. Все остальное (. css,. js, .img ...) кэшируется нормально.

У меня S3 подключен в источнике следующим образом: Origin Domain Name: s3.eu-central-1.amazonaws.com Origin Path: /subdomain.example.com Origin ID: subdomain.example.com Minimum Origin SSL Protocol: TLSv1 Origin Protocol Policy: HTTP Only Origin Response Timeout: 30 Origin Keep-alive Timeout: 5 HTTP Port: 80 HTTPS Port: 443

В Cloudfront у меня также есть пользовательские сообщения об ошибках для 400,403 и 404, все указывающие на /index.html с кодом 200.

Есть идеи, что я делаю не так?

изображение ошибки: enter image description here

изображение ошибки без обработки ошибок в Cloudfront enter image description here

1 Ответ

0 голосов
/ 03 апреля 2020

Открыть настройки источника Cloudfront

изменить имя домена происхождения:

от bucketname.com.s3.amazonaws.com до

bucketname.s3-website-us-east-1.amazonaws.com

это будет работать.

Screenshot

...