РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗dcTrMwCp 26 of 28 menu
◀ ▶

Сжатие в Docker

Сжатие уменьшает ответ сайта, если браузер умеет его принять. Заголовок Accept-Encoding в запросе подсказывает прокси, можно ли сжать тело перед отправкой. Контейнер nginx отдаёт страницу как раньше, без настройки gzip внутри образа.

Посредник gzip включают меткой compress=true. Роутер на site.localhost ссылается на сервис nginx с middlewares=gzip. Файл проекта с прокси и сайтом:

services: proxy: image: traefik:3 command: - --providers.docker=true - --providers.docker.exposedbydefault=false - --entrypoints.web.address=:80 ports: - "80:80" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro nginx: image: nginx labels: - traefik.enable=true - traefik.http.middlewares.gzip.compress=true - traefik.http.routers.web.rule=Host(`site.localhost`) - traefik.http.routers.web.middlewares=gzip

Фоновый подъём:

docker compose up -d

Страница по http://site.localhost выглядит как обычный nginx. Прокси сожмёт ответ сам, когда браузер это поддерживает, сайт об этом не знает.

Опишите сервис static на nginx с хостом static.localhost, посредником pack и сжатием в полном файле с прокси.

Откройте http://static.localhost и сравните размер ответа в инструментах разработчика с вариантом без посредника сжатия в копии проекта.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить