#PROXY-START/
location ~* \.(php|jsp|cgi|asp|aspx)$
{
proxy_pass https://xxxx1.com;
proxy_set_header Host xxxx1.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
}
location /
{
proxy_pass https://xxxx1.com;
proxy_set_header Host xxxx1.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
add_header Cache-Control no-cache;
expires 12h;
}
#PROXY-END/
//$upstream_cache_status
//HIT:表示请求的资源从 Nginx 的缓存中获取到了,即命中了缓存。这意味着 Nginx 没有将请求转发到后端服务器,而是直接从本地缓存中取出数据返回给客户端。
//MISS:表示请求的资源在 Nginx 的缓存中未找到,即缓存未命中。此时 Nginx 会将请求转发到后端服务器获取数据,然后将数据返回给客户端,同时可能会将数据缓存起来以便后续请求使用。
//EXPIRED:表示缓存中的资源已经过期。Nginx 仍然会将请求转发到后端服务器,获取最新的资源数据返回给客户端,并更新缓存(如果配置允许)。
//STALE:当 Nginx 配置了在后端服务器出现错误(如 error、timeout、invalid_header 以及特定的 HTTP 状态码如 http_500、http_502 等)时使用缓存中的旧数据进行响应,就可能出现 STALE 状态,表示返回的是缓存中的旧数据 。