fix(proxy-cache): keep cache_method same with nginx's proxy_cache_methods#4814
Conversation
| proxy_cache_valid any {% if proxy_cache.cache_ttl then %} {* proxy_cache.cache_ttl *} {% else %} 10s {% end %}; | ||
| proxy_cache_min_uses 1; | ||
| proxy_cache_methods GET HEAD; | ||
| proxy_cache_methods GET HEAD POST; |
There was a problem hiding this comment.
Nginx by default doesn't enable the cache for POST. Why change this behavior here?
There was a problem hiding this comment.
It doesn't affect the default behavior of APISIX, which means that user can specify the POST method on APISIX.
There was a problem hiding this comment.
Is it necessary to cache a POST request?
The only I can think of for caching POST requests is that some internal specification forces the consistent use of POST requests……
There was a problem hiding this comment.
It doesn't affect the default behavior of APISIX, which means that user can specify the
POSTmethod on APISIX.
Here you change the Nginx template, without a configurable setting. This is a change for default havior.
There was a problem hiding this comment.
@agile6v
Could you sync it to APISIX.pm?
done
There was a problem hiding this comment.
Is it necessary to cache a POST request?
The only I can think of for caching POST requests is that some internal specification forces the consistent use of POST requests……
Yes. This is a very rare scenario. The users don't enable the method on APISIX, it doesn't take effect. If users enable it, they need to know what they are doing.
There was a problem hiding this comment.
It doesn't affect the default behavior of APISIX, which means that user can specify the
POSTmethod on APISIX.Here you change the Nginx template, without a configurable setting. This is a change for default havior.
Whether to enable is here (cache_method)
What this PR does / why we need it:
Nginx's proxy_cache_methods directive only allows to specify
GET、POSTandHEAD, so we keep same with Nginx.#4776
Pre-submission checklist: