-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(proxy-cache): keep cache_method same with nginx's proxy_cache_methods #4814
Conversation
@@ -596,7 +596,7 @@ http { | |||
proxy_cache $upstream_cache_zone; | |||
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nginx by default doesn't enable the cache for POST. Why change this behavior here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@agile6v
Could you sync it to APISIX.pm?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It doesn't affect the default behavior of APISIX, which means that user can specify the
POST
method 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@agile6v
Could you sync it to APISIX.pm?
done
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It doesn't affect the default behavior of APISIX, which means that user can specify the
POST
method 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
、POST
andHEAD
, so we keep same with Nginx.#4776
Pre-submission checklist: