<div dir="ltr">Hi Francis,<div><br></div><div>Yeah, I think this is what I need! Thanks a lot for your explanation, which definitely helps my design. </div><div><br></div><div>Best,</div><div><br></div><div>- Yong</div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div style="font-size:12.8px">- Yong</div><div style="font-size:12.8px"><span style="font-size:12.8px">Y&R Computing </span></div></div></div></div></div></div>
<br><div class="gmail_quote">On Tue, Dec 6, 2016 at 12:46 PM, Francis Daly <span dir="ltr"><<a href="mailto:francis@daoine.org" target="_blank">francis@daoine.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon, Dec 05, 2016 at 09:01:09PM -0800, Yong Li wrote:<br>
<br>
Hi there,<br>
<span class=""><br>
> But since we upgraded it to 1.10.1 it seems the POST method<br>
> is changed to GET during the redirect.  I saw Maxim had a post (<br>
> <a href="https://forum.nginx.org/read.php?2,263661,264440#msg-264440" rel="noreferrer" target="_blank">https://forum.nginx.org/read.<wbr>php?2,263661,264440#msg-264440</a><wbr>) describing<br>
> this issue.  But I am still not sure what does it mean by "x-accel-redirect<br>
> to a named location".<br>
<br>
</span><snip bits><br>
<span class="">>    location /api/v1/files {<br>
>         proxy_pass <a href="http://tomcat" rel="noreferrer" target="_blank">http://tomcat</a>;<br>
>     }<br>
</span><span class="">>     location ~ ^/(all|groups|channels|users) {<br>
>         internal;<br>
>         proxy_pass <a href="http://file_server" rel="noreferrer" target="_blank">http://file_server</a>;<br>
>     }<br>
<br>
</span>If I POST to /api/v1/files/two, nginx will proxy_pass a POST to<br>
<a href="http://tomcat/api/v1/files/two" rel="noreferrer" target="_blank">http://tomcat/api/v1/files/two</a><br>
<br>
Tomcat will return HTTP 200 with a header X-Accel-Redirect with<br>
something like /all/two. Then your nginx will proxy_pass a GET to<br>
<a href="http://file_server/all/two" rel="noreferrer" target="_blank">http://file_server/all/two</a>.<br>
<br>
<br>
I think that the suggestion is that if your tomcat instead returns<br>
HTTP 200 with a header X-Accel-Redirect of @fileserver, then in<br>
your (new) "location @fileserver", a proxy_pass would be a POST to<br>
<a href="http://file_server/api/v1/files/two" rel="noreferrer" target="_blank">http://file_server/api/v1/<wbr>files/two</a>.<br>
<br>
<br>
Does that help in the design of your solution?<br>
<span class="HOEnZb"><font color="#888888"><br>
        f<br>
--<br>
Francis Daly        <a href="mailto:francis@daoine.org">francis@daoine.org</a><br>
______________________________<wbr>_________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx</a><br>
</font></span></blockquote></div><br></div>