我在 Amazon EC2 服务器 上部署了一个 rails 应用程序 - Nginx & Unicorn
我必须启用浏览器缓存。
这是我的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;
}
所有的 css , images , js 开始给出 403 Forbidden Error 。我也尝试过将权限更改为 777 但没有成功。
最佳答案
将文件的所有权更改为 Nginx 用户。 Web 服务器通常不仅需要读取权限,还需要所有权。更何况 SSH 与 PEM 文件连接特别需要 600 权限才能使 PEM 文件工作。
关于ruby-on-rails - 利用 Nginx 的浏览器缓存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23751935/