我有一个NGINX服务器,它用作到达我的AWS-CDN映像的代理服务器。
我是Nginx的新手。而且我知道nginx代理缓存机制是存储请求前url的内容,当缓存命中时,响应存储的内容。
但是由于AWS-CDN,我的案子不必存储内容。
所以。我的问题是nginx代理缓存仅将请求url作为密钥和响应url。
EX),当获取http://test.com/cdn-> proxy_pass-> http://cdn.com/actualUrl
location /cdn {
add_header Cache-Control "public, max-age=60";
proxy_cache my_cache;
proxy_cache_methods GET;
proxy_cache_key "$scheme$request_method$request_uri";
proxy_cache_valid 200 302 304 5m;
proxy_cache_valid 404 1m;
proxy_buffering on;
rewrite_by_lua_block{
---change url----
}
proxy_pass http://cdn.com;
}
然后,代理缓存将“ httpGET / cdn”作为密钥,将“ http://cdn.com/actualUrl”作为值存储。
我看过http://nginx.org/en/docs/http/ngx_http_keyval_module.html,并考虑了自定义键值系统和redis等。但是我想先问一下这是否可能。