Балансировщик нагрузки бэкэнд-сервиса Google cloud CDN, не кэширующий никаких ресурсов - PullRequest
1 голос
/ 15 января 2020

У нас есть требование генерировать изображения на лету и кешировать с использованием CDN. Для этого мы настроили бэкэнд-сервис с облачным CDN с поддержкой балансировки нагрузки. Мы используем Nginx прокси-сервер. Мы добавили заголовки, указанные в облачных документах Google CDN, но, к сожалению, они не кэшируются.

Запрос:

GET /resize?size=l&url=https://example.com/image.jpeg HTTP/1.1
Host: resize.example.com

Заголовки запроса:

Host: resize.example.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:70.0) Gecko/20100101 Firefox/70.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1

Заголовки ответа:

HTTP/1.1 200 OK
Server: nginx/1.17.2
Date: Wed, 15 Jan 2020 15:01:14 GMT
Content-Type: image/jpeg
Content-Length: 62771
cache-control: max-age=86400, public, s-maxage=86400
Via: 1.1 google

1 Ответ

1 голос
/ 15 января 2020

Я предлагаю вам пару страниц, которые могут вам помочь.

a) Не все HTTP-ответы кэшируются. Облачная CDN кэширует только те ответы, которые отвечают всем требованиям этого раздела. Некоторые из этих требований определены RF C 7234, а другие определены c для облачной CDN.

Кешируемость для ответов HTTP

Ответы не кэшируются - Устранение неполадок

В следующем примере демонстрируется использование curl для проверки заголовков ответа HTTP для http://example.com/style.css:

$ curl -s -D - -o / dev / null http://example.com/style.css HTTP / 1.1 200 OK Дата: вторник, 16 февраля 2016 г., 12:00:00 GMT Тип содержимого: текст / css Длина содержимого: 1977 г. Через: 1.1 google

Хотя, возможно, из-за добавленного ответа вы, возможно, уже прочитали его.

...