Включить заголовки кэша на Nginx
Я пытаюсь заставить кеш работать на Nginx, который является прокси для gunicorn или который обслуживает напрямую статические файлы.
Я пытался добавить:
location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
root /home/admin/kids/app/static;
expires 30d;
add_header Pragma public;
add_header Cache-Control "public";
}
Но когда я это делаю, сервер перестает работать.
server {
listen 80;
server_name example.com;
gzip_static on;
gzip on;
gzip_http_version 1.0;
gzip_proxied any;
gzip_min_length 500;
gzip_disable "MSIE [1-6]\.";
gzip_types text/plain text/html text/xml text/css
text/comma-separated-values
text/javascript application/x-javascript
application/atom+xml;
location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
root /home/admin/kids/app/static;
expires 30d;
add_header Pragma public;
add_header Cache-Control "public";
}
# Handle all locations
location / {
try_files $uri @proxy_to_app;
}
location @proxy_to_app {
# Pass the request to Gunicorn
proxy_pass http://127.0.0.1:8000;
# Set some HTTP headers so that our app knows where the
# request really came from
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Здесь была та же самая проблема, но я не понимаю комментарий, который помогает.
Возможно, в другом блоке есть определение для статических файлов с корневым набором, в этом случае вы должны добавить директивы в этот блок. (Я знаю, что это 2 года поздно, но для будущих граждан) - Aularon
Благодарю.