一、增加响应头信息
语法:add_header name value
默认值: none
作用域: http, server, location
示例:
server {
...
# 增加响应头解决跨域问题
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'POST, GET, OPTIONS, PUT, PATCH, DELETE';
add_header 'Access-Control-Allow-Headers' 'Origin, Content-Type, Cookie, X-CSRF-TOKEN, Accept, Authorization, X-XSRF-TOKEN, Self-Referer, UUID';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Expose-Headers' 'Authorization, authenticated';
...
}
二、控制资源缓存
语法:expires [time|epoch|max|off]
默认值:off
作用域:http, server, location
示例:
server {
...
location ~ .*\.(js|css)?$ {
# expires 24h; # 缓存24小时
# expires 60; # 缓存60秒
# expires 0; # 不启用缓存
# expires -1; # 不启用缓存
# expires epoch; # 不启用缓存
# expires max; # 缓存10年
}
...
}
使用本指令可以控制 HTTP 应答中的 Expires 和 Cache-Control 的头信息(起到控制页面缓存的作用)。
time:可以在值中使用正数或负数。Expires头标的值将通过当前系统时间加上您设定的time值来获得。
epoch:指定Expires的值为 1 January, 1970, 00:00:01 GMT。
max:指定 Expires的值为 31 December 2037 23:59:59 GMT,Cache-Control的值为10年。
-1:指定 Expires的值为服务器当前时间 -1s,即永远过期。
off:表示不修改“Expires”和“Cache-Control”的值。
Cache-Control 的值会根据 expires 配置来决定:
expires 为负数:Cache-Control: no-cache
expires 为正数或零:Cache-Control: max-age = <秒数>