Problema de exibição de imagem Nginx após a otimização

3

Fiz algumas otimizações usando o gtmetrix para melhorar o desempenho do site. Como ativar a compactação gzip, etc.

Quando tento testar o site usando serviços on-line, como o browserling.com, as imagens não são exibidas.

link

Quando tento me conectar do servidor. Como 192.168.1.xx funciona bem.

A parte relacionada do /etc/nginx/nginx.conf é assim:

##
# Gzip Settings
##

gzip on;

gzip_vary on;
gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

E em /etc/nginx/sites-enabled/programlama.tk eu adicionei esta parte.

location ~*  \.(jpg|jpeg|png|gif|ico)$ {
    expires 365d;
}

location ~*  \.(css|js)$ {
    expires 30d;
}

location ~*  \.(pdf)$ {
    expires 30d;
}

Atualização:

Suspeito que o problema está no bloqueio do servidor na localização expira em parte.

server {
    server_name programlama.tk;

    location /static {
        limit_except GET HEAD POST {
             deny all;
        }
        include yasaklananlar.conf;
        # alias
    }

    location / {
        limit_except GET HEAD POST {
             deny all;
        }
        include yasaklananlar.conf;
        include proxy_params;
        # proxy_pass
    }

    location ~*  \.(jpg|jpeg|png|gif|ico)$ {
        expires 365d;
    }

    location ~*  \.(css|js)$ {
        expires 30d;
    }

    location ~*  \.(pdf)$ {
        expires 30d;
    }

    # server settings

}

Se eu remover a localização expira parte no bloco do servidor e reiniciar o servidor Nginx, ela exibirá as imagens bem.

    
por Erdem 08.11.2018 / 09:07

1 resposta

2

O Nginx escolhe um único local para processar uma solicitação .

Assim, quando uma nova expressão regular location é adicionada para definir o valor expires em uma extensão, ela divide as configurações location /static {...} e location / {...} .

Como alternativa ao uso de location para definir expires , você pode usar um map . Consulte este documento para obter detalhes.

Por exemplo:

map $request_uri $expires {
    default                           off;
    ~*\.(jpg|jpeg|png|gif|ico)(\?|$)  365d;
    ~*\.(css|js|pdf)(\?|$)            30d;
}    

server {
    ...
    expires $expires;

    location /static { ... }
    location / { ... }
    ...
}
    
por 08.11.2018 / 10:49