Я пытался проверить уже существующие вопросы и ответы, но не смог найти ответ на свою тему.Вещи, которые я проверил:
- У меня есть соответствующий сертификат на моем домене
- Я отправляю правильные заголовки ответа (по крайней мере, я так думаю, blured вещь - заголовок местоположения с s3 url):
Дополнительная информация:
- мы используем http2.0 из cloudflare, может ли это как-то повлиять на это?
- на нашем сервере мы используем только nginx + php-fpm
Какой именно сценарий - мы генерируем минимизированные изображения, используя параметры из пост-запроса на нашем сервере, и сохраняем его на S3.Я хотел кешировать эти запросы с помощью Last-Modified
, чтобы браузер не делал ненужных запросов, поэтому сейчас он выглядит так:
- Запросите у нашего сервера правильные параметры (например, размер изображения и т. Д.), Соберитекакой-то объектный ключ для сохранения в s3
- Измените его размер, загрузите измененное изображение в S3.
- Верните изображение
По следующим запросам:
- Запросите наш сервер, соберите ключ еще раз
- Проверьте, существует ли он на S3, если да, верните просто перенаправление на URL-адрес s3.
- Если нет, тогда измените размер и загрузите снова и вернитеimage
Я хотел изменить это на:
- Запросить у нашего сервера правильные параметры (например, размер изображения и т. д.), создать какой-то ключ для сохранения
- Измените его размер, при необходимости загрузите измененное изображение на S3
- Верните изображение или перенаправьте на s3 с последним измененным заголовком.
По следующим запросам:
- Проверьте заголовок if-updated-Since
- Если разница с текущим значениемe меньше 72h (макс. s3 url ttl), а изображение не было обновлено (мы обновили дату в базе данных), затем верните 304.
- Если нет, то выполните то, что описано выше.
Что еще более случайное, иногда, например, 1 на 10 или 20 запросов, оно работает правильно, как будто у меня иногда 304, но это действительно редкий случай.
Есть идеи?