Я выполняю некоторые задачи WPO, поэтому PageSpeed предложил мне использовать кеширование браузера. Я успешно улучшил его для некоторых статических файлов на моем сервере Nginx, однако мои файлы изображений, хранящиеся на сервере Amazon S3, по-прежнему отсутствуют.
Я прочитал подход, касающийся обновления каждого файла в S3, чтобы включить некоторые метатеги заголовков (Expires и Cache-Control). Я думаю, что это не очень хороший подход. У меня есть тысячи файлов, поэтому для меня это невозможно.
Я думаю, что самый удобный подход - настроить мой сервер Nginx 1.6.0 на прокси-сервер S3 файлов. Я читал об этом, но у меня нет опыта в конфигурации сервера, поэтому я получил пару примеров с этих сайтов: https://gist.github.com/benjaminbarbe/1961db5ffbaad57eff12
Я добавил этот код местоположения в свой серверный блок в файле конфигурации nginx:
#inside server block
location /mybucket.s3.amazonaws.com/ {
proxy_http_version 1.1;
proxy_set_header Host mybucket.s3.amazonaws.com;
proxy_set_header Authorization '';
proxy_hide_header x-amz-id-2;
proxy_hide_header x-amz-request-id;
proxy_hide_header Set-Cookie;
proxy_ignore_headers "Set-Cookie";
proxy_buffering off;
proxy_intercept_errors on;
proxy_pass http://mybucket.s3.amazonaws.com;
}
Конечно, это не работает для меня. В моих запросах нет заголовка. Итак, сначала я думаю, что запросы не соответствуют местоположениям.
Accept-Ranges:bytes
Content-Length:90810
Content-Type:image/jpeg
Date:Fri, 23 Jun 2017 04:53:56 GMT
ETag:"4fd0be549fbcaf9b47c18a15146cdf16"
Last-Modified:Tue, 09 Jun 2015 09:47:13 GMT
Server:AmazonS3
x-amz-id-2:cKsq1qRra74DqVsTewh3P3sgzVUoPR8aAT2NFCuwA+JjCdDZfk7/7x/C0WPjBa51GEb4C8LyAIc=
x-amz-request-id:94EADB4EDD3DE1C1