ruby-on-rails - 利用 Nginx 的浏览器缓存问题

标签 ruby-on-rails nginx amazon-ec2 browser-cache

我在 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/

相关文章:

javascript - 从AWS SDK描述地址检索IP

javascript - node.js 应用程序在 AWS 上停止的问题

ruby-on-rails - 在 ruby​​ on rails 中使用 dataTable 时如何在每行添加复选框?

ruby-on-rails - 如何在不使用 RVM 的情况下指定 Ruby for Rails 的版本?

php - Docker, Varnish ,对等连接重置

python - 使用日期在 uwsgi ini 文件中创建日志文件时出错

php - Docker 化 Laravel 应用程序,为什么要复制源代码两次?

amazon-ec2 - EC2 阻止所有出站调用

ruby-on-rails - 通过银行转账处理 Rails 付款

ruby-on-rails - 将 has_many :through impose huge performance impact in RoR?