Puncte:0

NGINX nu activează GZIP pentru css, chiar dacă este în config

drapel in

Am construit un site static simplu, pe care îl servesc cu nginx (de la docker). În prezent, încerc să implementez unele dintre cele mai bune practici, inclusiv gzip.

Am folosit câteva exemple de configurație pe care le-am găsit online, pentru a-mi configura propria configurație. Gzip funcționează pentru majoritatea tipurilor, cu excepția css...

obisnuiam răsuci pentru testare:

curl -H "Accept-Encoding: gzip" -I localhost:8400 produce:

HTTP/1.1 200 OK
Server: nginx/1.20.2
Data: miercuri, 05 ianuarie 2022 12:35:06 GMT
Tip de conținut: text/html
Conexiune: păstrați-vă în viață
Ultima modificare: joi, 30 decembrie 2021 13:24:15 GMT
Variază: Acceptare-Codare
ETag: W/"61cdb2ff-ff5"
Politica de securitate a conținutului: script-src 'self' 'unsafe-inline' 'unsafe-eval' *.transistories.org; frame-src „sine”; object-src „sine”
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
Strict-Transport-Securitate: max-age=31536000;
X-XSS-Protecție: 1; mod=bloc
Codificarea conținutului: gzip

in timp ce curl -H "Accept-Encoding: gzip" -I localhost:8400/css/main.css produce:

HTTP/1.1 200 OK
Server: nginx/1.20.2
Data: miercuri, 05 ianuarie 2022 12:35:02 GMT
Tip de conținut: text/css
Lungimea conținutului: 8279
Conexiune: păstrați-vă în viață
Ultima modificare: miercuri, 05 ianuarie 2022 10:46:33 GMT
Variază: Acceptare-Codare
Etichetă: „61d57709-2057”
Expiră: sâmbătă, 29 ianuarie 2022 13:38:58 GMT
Cache-Control: max-age=2073600
Pragma: public
Cache-Control: max-age=2073600, public
Accept-Range: octeți

Fișierul de configurare principal:

utilizator nginx;
worker_proceses auto;

error_log /var/log/nginx/error.log notificare;
pid /var/run/nginx.pid;


evenimente {
    conexiuni_muncitor 1024;
}


http {
    includ /etc/nginx/mime.types;
    aplicație de tip_default/octet-stream;

    log_format principal „$remote_addr - $remote_user [$time_local] „$request” '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log principal;

    sendfile activat;
    tcp_nopush activat;

    keepalive_timeout 65;

    gzip on;
    gzip_vary on;
    gzip_proxied orice;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_http_versiunea 1.1;
    gzip_min_length 256;
    gzip_types
        aplicație/atom+xml
        aplicație/geo+json
        aplicație/javascript
        aplicație/x-javascript
        aplicație/json
        application/ld+json
        aplicație/manifest+json
        aplicație/rdf+xml
        aplicație/rss+xml
        application/xhtml+xml
        aplicație/xml
        font/eot
        font/otf
        font/ttf
        imagine/svg+xml
        text/css
        text/javascript
        text/js
        text/ simplu
        text/xml;
    gzip_disable „msie6”;



    server_tokens dezactivat;

    includ /etc/nginx/conf.d/transistories.conf;
}

Fișierul de configurare inclus:

Server {
    asculta 80;
    asculta [::]:80;
    nume_server gazdă locală;

    #charset koi8-r;
    access_log /var/log/nginx/host.access.log principal;

    add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval' *.transistories.org; frame-src 'self'; object-src 'self'";
    add_header X-Frame-Options „SAMEORIGIN” întotdeauna;
    add_header X-Content-Type-Options „nosniff” întotdeauna;
    add_header Strict-Transport-Security "max-age=31536000;" mereu;
    add_header X-XSS-Protection "1; mode=block";

    locație ~* \.(?:ico|css|js|gif|jpe?g|png|eot|woff2?|ttf|svg)$ {
        root /usr/share/nginx/html;
        expiră 24d;
        add_header Pragma public;
        add_header Cache-Control "max-age=2073600, public";
    }

    Locație / {
        root /usr/share/nginx/html;
        index index.html;
    }

    pagina de eroare 404 /404.html;
}

În cazul în care este relevant; Dockerfile pe care îl folosesc: Fișierele css sunt generate din scss, folosind node-sass.

FROM node:current-alpine3.14 AS builder

WORKDIR /usr/src/app

COPIEAZĂ pachetul*.json ./

RUN instalarea npm

COPIEAZĂ active ./active

COPIEAZĂ gulpfile.js .

COPY src ./src

RUN npm run build:prod

RUN npm rulați sitemap

RUN npm rulare rss

DE LA nginx:latest

COPY --from=builder /usr/src/app/build /usr/share/nginx/html

COPIEAZĂ nginx/nginx.conf /etc/nginx
COPIEAZĂ nginx/conf.d /etc/nginx/conf.d

Aveți idee de ce s-ar putea întâmpla acest lucru și cum aș putea rezolva asta? Mulțumesc anticipat!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.