POST method with x-accel-redirect
Francis Daly
francis at daoine.org
Tue Dec 6 20:46:03 UTC 2016
On Mon, Dec 05, 2016 at 09:01:09PM -0800, Yong Li wrote:
Hi there,
> But since we upgraded it to 1.10.1 it seems the POST method
> is changed to GET during the redirect. I saw Maxim had a post (
> https://forum.nginx.org/read.php?2,263661,264440#msg-264440) describing
> this issue. But I am still not sure what does it mean by "x-accel-redirect
> to a named location".
<snip bits>
> location /api/v1/files {
> proxy_pass http://tomcat;
> }
> location ~ ^/(all|groups|channels|users) {
> internal;
> proxy_pass http://file_server;
> }
If I POST to /api/v1/files/two, nginx will proxy_pass a POST to
http://tomcat/api/v1/files/two
Tomcat will return HTTP 200 with a header X-Accel-Redirect with
something like /all/two. Then your nginx will proxy_pass a GET to
http://file_server/all/two.
I think that the suggestion is that if your tomcat instead returns
HTTP 200 with a header X-Accel-Redirect of @fileserver, then in
your (new) "location @fileserver", a proxy_pass would be a POST to
http://file_server/api/v1/files/two.
Does that help in the design of your solution?
f
--
Francis Daly francis at daoine.org
More information about the nginx
mailing list