У меня был дистрибутив CloudFront, настроенный с S3 в качестве источника.
Я включил «Автоматическое сжатие объектов» согласно руководству Amazon. Ожидал, пока статус распространения отобразит «онлайн», затем сделал недействительными все файлы.
Мои заголовки ответа:
Age:5
Connection:keep-alive
Content-Length:232359
Content-Type:application/javascript
Date:Sat, 03 Mar 2018 15:39:10 GMT
Last-Modified:Sat, 03 Mar 2018 15:37:32 GMT
Server:AmazonS3
Vary:Accept-Encoding
Via:1.1 4dbdc57755819d1a0ec1defc2630d677.cloudfront.net (CloudFront)
X-Amz-Cf-Id:6eHPWzOXv2J6kIvzuieoI9chtPBBvEvJFH9fb3yMwHvvcMZ4xsigCA==
X-Cache:Hit from cloudfront
Заголовки запроса:
Accept:*/*
Accept-Encoding:gzip, deflate, br
Accept-Language:en-GB,en;q=0.9,en-US;q=0.8,pl;q=0.7,zh;q=0.6
Cache-Control:no-cache
Connection:keep-alive
Host:d2h5tcpn9r8alm.cloudfront.net
Pragma:no-cache
Referer:https://noru.co.uk/
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36
У него есть «Content-length» и поддерживается «Content-Type», что я Я скучаю? Я здесь схожу с ума ...
С тех пор я ' Вот общие настройки дистрибутива:
Delivery Method Web
Cookie Logging Off
Distribution Status Deployed
Comment -
Price Class Use All Edge Locations (Best Performance)
AWS WAF Web ACL -
State Enabled
Alternate Domain Names (CNAMEs) -
SSL Certificate Default CloudFront Certificate (*.cloudfront.net)
Domain Name d189ud9v76clu1.cloudfront.net
Custom SSL Client Support -
Security Policy TLSv1
Supported HTTP Versions HTTP/2, HTTP/1.1, HTTP/1.0
IPv6 Enabled
Default Root Object -
Last Modified 2018-03-03 15:46 UTC
Log Bucket
И поведение: поведение при распространении
Я все еще не могу заставить работать gzip вот новый файл: http://d189ud9v76clu1.cloudfront.net/app.min.js
После этого я заплатил за службу поддержки AWS, чтобы она решила эту проблему за меня, вот их ответ:
Я понимаю, поскольку это может расстраивать, не позволяя просматривать изменения, внесенные в вашу конфигурацию с помощью утилит Developer Tools.
Из документации, которая находится в сети, я подтверждаю, что это может быть немного запутанным, что я сделаю запрос обратной связи, чтобы внести некоторые изменения в документацию, в вашем случае это больше изменений в производительности, если вы посмотрите в нижней части браузера Chrome, Сетевая опция в разделе Разработчик инструменты, вы увидите, как производительность ваших страниц была изменена в результате сжатия gzip.
Чтобы просмотреть конфигурацию через браузер, выберите другой вариант, такой же, как и в выводе команды "curl", просмотрев заголовки ответов в разделе "Инструменты для разработчиков" из любого браузера.
Это можно найти, если вы перейдете в раздел "Инструменты для разработчиков" -> "Выбор сети": * Как вы увидели все ссылки на ваши ресурсы, нажмите на доменное имя домена верхней ссылки "noru.co.uk". * Откроются ваши заголовки, которые выдадут тот же результат, что и команда curl в примере:
Accept-Ranges: bytes
Alt-Svc: quic=":443"; ma=2592000; v="35,37,38,39"
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Content-Encoding: gzip
Content-Length: 3152
Content-Type: text/html; charset=utf-8
Date: Tue, 20 Mar 2018 06:37:04 GMT
Etag: "7073226-1521527798;gz"
Expires: Ту, 19 ноября 1981 08:52:00 GMT
Pragma: no-cache
Server: LiteSpeed
Vary: Accept-Encoding
X-Firefox-Spdy: h2
charset: utf-8
x-litespeed-cache: hit,private
x-powered-by: Craft CMS
Это даст вам большую часть информации о вашей конфигурации для ваших веб-страниц этого домена.
Надеюсь, это помогло, Если у вас есть другие проблемы, пожалуйста, не стесняйтесь обращаться к нам, как я был бы рад дальнейшей помощи.
Содержит ли ваш запрос необходимый Прием-раскодировка: gzip
заголовок?
Ваши заголовки выглядят как вывод скручивания, который по умолчанию не посылает этот заголовок.
Вы можете протестировать кодировку gzip с помощью скручивания: curl -H "Accept-Encoding: gzip" https://example.com/asset.js"
Я посмотрю, смогу ли я обобщить то, что со мной произошло, и, возможно, это поможет кто-то.
Сделал начальную настройку S3. Установите CORS, но не добавили Content-Length. Сделал первоначальную настройку CloudFront. Не проверял сжатие.
Все развертывается.
Запустите тест GTMetrix в домене и получите F для gzip.
Вернитесь назад и погуглите, что делать, чтобы это работало. Осознайте, что мне нужен заголовок Content-Length
, и поймите, что мне нужно вернуться в CloudFront и проверить сжатие в дистрибутиве.
Но ... вам также необходимо сделать ваш кеш недействительным. Фактически все активы возвращались 304 (без изменений). Таким образом, вы не получите свои заархивированные ресурсы.
Распространение, редактирование, недействительность, создание *
и вперед.
Надеюсь, это поможет.