Я сделал некоторые оптимизации с помощью gtmetrix для повышения производительности веб-сайта. Например, включение сжатия gzip и т. Д.
Когда я пытаюсь протестировать сайт с помощью онлайн-сервисов, таких как browserling.com, изображения не отображаются.
Когда я пытаюсь подключиться с сервера. Как и 192.168.1.xx работает нормально.
Связанная часть /etc/nginx/nginx.conf выглядит так:
##
# 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;
И в /etc/nginx/sites-enabled/programlama.tk я добавил эту часть.
location ~* \.(jpg|jpeg|png|gif|ico)$ {
expires 365d;
}
location ~* \.(css|js)$ {
expires 30d;
}
location ~* \.(pdf)$ {
expires 30d;
}
Обновить :
Я подозреваю, что проблема в серверном блоке в месте истечения срока действия.
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
}
Если я удалю часть времени истечения срока действия в серверном блоке и перезапустите сервер Nginx, изображения будут отображаться нормально.
Nginx выбирает одно место для обработать запрос.
Итак, когда новый регулярное выражение location
добавлен для установки expires
значение на расширении, это нарушает ваши location /static {...}
и location / {...}
конфигурации.
В качестве альтернативы использованию location
установить expires
, вы можете использовать map
вместо. Видеть этот документ для подробностей.
Например:
map $request_uri $expires {
default off;
~*\.(jpg|jpeg|png|gif|ico)(\?|$) 365d;
~*\.(css|js|pdf)(\?|$) 30d;
}
server {
...
expires $expires;
location /static { ... }
location / { ... }
...
}