Итак, чтобы объяснить проблему, у меня есть корзина 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.
Есть идеи, что я делаю не так?
изображение ошибки:
изображение ошибки без обработки ошибок в Cloudfront