ruby-on-rails C nginx没有在Rails静态资产上设置expires头
发布时间:2023-12-17 23:43:51 所属栏目:Nginx 来源:DaWei
导读: 我似乎无法让nginx在我的Rails应用程序中的静态资产上设置expires标头.
我的应用程序使用Phusion Passenger& nginx的.
下面是我的nginx配置文件的相关部分
server {
listen 80;
我的应用程序使用Phusion Passenger& nginx的.
下面是我的nginx配置文件的相关部分
server {
listen 80;
|
我似乎无法让nginx在我的Rails应用程序中的静态资产上设置expires标头. 我的应用程序使用Phusion Passenger& nginx的. 下面是我的nginx配置文件的相关部分 server { listen 80; server_name my.domain.tld; root /home/deploy/my.domain.tld/current/public; passenger_enabled on; access_log off; location ~* .(ico|css|js|gif|jp?g|png)?[0-9]+${ expires max; break; } if (-f $document_root/system/maintenance.html) { rewrite ^(.*)$/system/maintenance.html break; } }我不确定为什么它的设置不会在我的静态资产上过期(例如/images/foo.png?123456) 我不确定它是否与乘客有关,或者我的位置regexp是不是没有抓住它 最佳答案 只是想指出使时间戳可选是一个坏主意 – 如果它没有包含,那么设置expires max是错误的,因为没有办法刷新文件.此外,Nginx中的location指令无法查看查询字符串,因此此处发布的解决方案永远不会匹配“可选”时间戳. 一个适当的解决方案(即只有在使用时间戳请求文件时才发送最大值的解决方案)将是: location ~* .(js|css|png|jpg)${ if ($query_string ~ "^[0-9]+$") { expires max; break; } }如果未指定时间戳,则依赖于Last-Modified和ETag,它们由Nginx自动处理. (编辑:吉安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- reactjs-nginx尝试根据uri在目录中查找index.html
- node.js – 代理WebSocket连接和短暂端口耗尽
- 如何在nginx中设置自动身份验证层?
- node.js-无法从nodemailer发送电子邮件
- OpenResty:使用已经给定的/etc/nginx/nginx.conf文件配置l
- 如何为使用fastcgi和perlbrew在Nginx上运行的Perl催化剂应用
- 如果nginx正在运行(dockerized),则无法建立角度dist
- nginx在docker swarm服务面前
- 套接字-未创建uwsgi套接字
- nginx-加载SVG时出错-ERR_CONTENT_DECODING_FAILED
推荐文章
站长推荐
