我正在使用pingdom
测试我的网站:
https://tools.pingdom.com/#!/dCLQGc/https://stagingreport.daytwo.com
使用以下配置从nginx服务器提供的所有静态文件
server {
listen 80;
gzip on;
gzip_vary on;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
root /usr/share/nginx/html;
index index.html index.htm;
location / {
if ($http_x_forwarded_proto = "http") {
return 301 https://$host$request_uri;
}
try_files $uri $uri/ /index.html;
}
}
因为我正在使用谷歌云CDN ,所以我没有在服务器上设置任何缓存配置。
为了获得更高的性能得分 我应该更改Nginx配置中的某些内容吗?
答案 0 :(得分:1)
根据下面提到的caching details,您可能需要相应地配置nginx:
仅当以下所有条件都可以将响应存储在Cloud CDN缓存中时: 以下是正确的:
它由Cloud CDN的后端服务或后端存储桶提供 启用。
它是对GET请求的响应。
其状态代码为200、203、206、300、301、302、307或410。
它具有Content-Length标头或Transfer-Encoding标头。
它具有Cache-Control:公共头。
它具有Cache-Control:s-maxage,Cache-Control:max-age或Expires 标头。
它具有Content-Length,Content-Range或Transfer-Encoding标头。
它的大小小于或等于最大大小。
对于后端存储桶,您可以通过标记以下内容来满足这些要求 对象公开共享。
也有一些检查阻止响应的缓存。回应是 如果满足以下任一条件,则不缓存:
它具有Set-Cookie标头。
它具有Vary标头,其值不是Accept,Accept-Encoding, 或起源。
它具有Cache-Control:无存储,无缓存或私有指令。
相应的请求具有Cache-Control:no-store指令。