3 Stimmen

Hebeln Sie das Browser-Caching-Problem mit Nginx aus

Ich habe eine Rails-App auf einem Amazon EC2-Server - Nginx & Unicorn bereitgestellt.

Ich muss Browser-Caching aktivieren.

Hier ist der Code meiner nginx.conf

upstream unicorn {
server unix:/tmp/unicorn.nqlive.sock fail_timeout=0;
}

server {
listen 80;
listen 443 ssl;
server_name xyz.com;
ssl_certificate /usr/local/nginx/conf/server.crt;
ssl_certificate_key /usr/local/nginx/conf/server.key;
root /home/ec2-user/hello/production/current/public;

location ~* \.(css|js|gif|jpe?g|png)$ {
expires 168h;
add_header Pragma public;
add_header Cache-Control "public";
}

try_files $uri/index.html $uri @unicorn;
location @unicorn {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://unicorn;
}

error_page 500 502 503 504 /500.html;
client_max_body_size 20M;
keepalive_timeout 10;
}

Alle CSS-, Bilder- und JS-Dateien zeigen den 403 Forbidden Error. Ich habe auch versucht, die Berechtigung auf 777 zu ändern, aber ohne Erfolg.

0voto

ma.tome Punkte 276

Ändern Sie den Besitz Ihrer Dateien auf den Nginx-Benutzer. Webserver benötigen in der Regel nicht nur Leseberechtigungen, sondern auch Besitzrechte. Ähnlich wie bei SSH mit PEM-Dateiverbindungen erfordern insbesondere 600-Berechtigungen für die PEM-Datei, damit sie funktioniert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X