<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, May 29, 2014 at 8:25 PM, Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru" target="_blank">mdounin@mdounin.ru</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<div><div class="h5"><br>
On Thu, May 29, 2014 at 07:04:46PM +0800, Andy wrote:<br>
<br>
> Hello guys,<br>
><br>
> I'm trying to find a way to use OpenStack SWIFT with nginx, the below are<br>
> request steps:<br>
><br>
> 1. nginx is configured as proxy cache<br>
> 2. client send a request to nginx for url: <a href="http://domain.com/filename.txt" target="_blank">http://domain.com/filename.txt</a><br>
> 3. nginx received the request and it is a cache miss, it need to fetch the<br>
> content from SWIFT proxy server<br>
> 4. nginx send a request to swift proxy server for authentication, the url<br>
> looks like <a href="http://swift-proxy/auth-account" target="_blank">http://swift-proxy/auth-account</a>, account information is set in<br>
> header, the response from swift proxy server contains a auth-token for that<br>
> account if authentication success.<br>
> 5. then nginx use this auth-token and put it in a new request header, and<br>
> send the new request to the swift proxy server for the original request<br>
> content, there could be a map between client request url to the swift proxy<br>
> url, for example, /filename.txt --> /account/container/filename.txt, so the<br>
> new requst url could be <a href="http://swift-proxy/account/container/filename.txt" target="_blank">http://swift-proxy/account/container/filename.txt</a>,<br>
> plus the auth-token.<br>
> 6. swift proxy sever response the content to nginx, then nginx cache the<br>
> content and pass the response to the client.<br>
><br>
> Could the above requirement be accomplished by some specific configuration<br>
> plus some existing nginx modules?<br>
<br>
</div></div>Looks like something more or less possible with auth_request, see<br>
<a href="http://nginx.org/en/docs/http/ngx_http_auth_request_module.html" target="_blank">http://nginx.org/en/docs/http/ngx_http_auth_request_module.html</a>.<span class="HOEnZb"></span><br></blockquote><div><br></div><div>
Thanks, it works after some configuration changes.<br><br></div><div><br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="HOEnZb"><font color="#888888">
--<br>
Maxim Dounin<br>
<a href="http://nginx.org/" target="_blank">http://nginx.org/</a><br>
<br>
_______________________________________________<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" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
</font></span></blockquote></div><br></div></div>