Я обслуживаю статический веб-сайт от nginx, который работает в контейнере докеров, основанном на базовом образе nginx: alpine.
Мой DockerFile:
FROM nginx:alpine
COPY --from=angular-built app/dist/dayTwoApp /usr/share/nginx/html
COPY ./default.conf /etc/nginx/conf.d/default.conf
Файл default.conf:
server {
listen 80;
gzip on;
gzip_vary on;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
root /usr/share/nginx/html;
index index.html index.htm;
location / {
try_files $uri $uri/ /index.html;
}
}
Я вижу различаются: Accept-Encoding заголовок в ответе от обслуживаемого html файла (см. ниже).
Но почему-то я не вижу заголовок в ответах js и css.
(*) Соответствующие ссылки, которые не работали:
https://stackoverflow.com/questions/15999606/enable-gzip-compression-with-nginx
https://stackoverflow.com/questions/6637678/set-vary-accept-encoding-header-nginx
Детали ответов:
html файл:
js файлы (также для css):
Попробуйте добавить в конфигурацию nginx:
gzip_proxied any
gzip_types
text/plain
text/css
text/js
text/xml
text/javascript
application/javascript
application/x-javascript
application/json
application/xml
application/rss+xml
image/svg+xml;
(Только ответы с типом «text / html» всегда сжатый.)