Сжатие гэтсби не работает на живом сервере, только на локальном

Я использую плагин brotli для сжатия моих пакетов в gatsby: https://github.com/ovhemert/gatsby-plugin-brotli

плагин настроен следующим образом:

{
      resolve: "gatsby-plugin-brotli",
      options: {
        extensions: ["css", "html", "js", "svg", "ttf"],
      },
    },
}

По какой-то причине кажется, что это работает только тогда, когда я «гэтсби обслуживаю» его на своей локальной машине (localhost: 9000), но загрузка его в корзину на S3 не показывает никаких сжатий:

локальное развертывание: Сжатие гэтсби не работает на живом сервере, только на локальном

развертывание s3: Сжатие гэтсби не работает на живом сервере, только на локальном

Ничего не работает, что бы я ни пробовал. для загрузки на S3 я использовал пакет gatsby-plugin-s3: https://github.com/jariz/gatsby-plugin-s3

Есть идеи? Спасибо!

Обновлено: Я проверил корзину, чтобы убедиться, что она содержит не только сжатые файлы, но и распакованные: Сжатие гэтсби не работает на живом сервере, только на локальном

Итак, я думаю, мне нужно уточнить свои вопросы, но не знаю, как... не знаю, что вызвало эту проблему.


1
744
1

Ответ:

Решено

Поэтому, потратив довольно много времени на эту проблему, я наконец нашел ответ в документации AWS. Я использую CloudFront для обслуживания сайта, но, поскольку этот сайт является демонстрационным для целей тестирования, я не приобретал для него сертификат HTTPS. Согласно AWS Docs, CF не передает сжатый контент по HTTP, ТОЛЬКО по https: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html

Покупка и установка сертификата РЕШИЛИ эту проблему для меня.