Does nginx support openstack swift API?

Hello guys,

I’m trying to find a way to use OpenStack SWIFT with nginx, the below
are
request steps:

  1. nginx is configured as proxy cache
  2. client send a request to nginx for url:
    http://domain.com/filename.txt
  3. nginx received the request and it is a cache miss, it need to fetch
    the
    content from SWIFT proxy server
  4. nginx send a request to swift proxy server for authentication, the
    url
    looks like http://swift-proxy/auth-account, account information is set
    in
    header, the response from swift proxy server contains a auth-token for
    that
    account if authentication success.
  5. then nginx use this auth-token and put it in a new request header,
    and
    send the new request to the swift proxy server for the original request
    content, there could be a map between client request url to the swift
    proxy
    url, for example, /filename.txt → /account/container/filename.txt, so
    the
    new requst url could be
    http://swift-proxy/account/container/filename.txt,
    plus the auth-token.
  6. swift proxy sever response the content to nginx, then nginx cache the
    content and pass the response to the client.

Could the above requirement be accomplished by some specific
configuration
plus some existing nginx modules?

Thanks,
Andy

Hello!

On Thu, May 29, 2014 at 07:04:46PM +0800, Andy wrote:

looks like http://swift-proxy/auth-account, account information is set in

Could the above requirement be accomplished by some specific configuration
plus some existing nginx modules?

Looks like something more or less possible with auth_request, see
Module ngx_http_auth_request_module.


Maxim D.
http://nginx.org/

On Thu, May 29, 2014 at 8:25 PM, Maxim D. [email protected]
wrote:

  1. client send a request to nginx for url:
  2. then nginx use this auth-token and put it in a new request header, and

Could the above requirement be accomplished by some specific
configuration
plus some existing nginx modules?

Looks like something more or less possible with auth_request, see
Module ngx_http_auth_request_module.

Thanks, it works after some configuration changes.

Hi, hexiay,

I’m trying to find a way to use OpenStack SWIFT with nginx too. After
read
your post, I got a solution and try to configure Nginx with
ngx_http_auth_request_module, but what I got is a 401 error. Based on
your
answer, you have found a solution, Do you mind sharing it? Or any one
has
the suggestion on how to configure Nginx HTTP Auth Request module to
accomplish it?

Thanks,

Amy

Posted at Nginx Forum:

Hi, hexiay,

I am not sure whether this email thread is still active. However, I am
encountering the similar issue you described. Based on your answer, you
have
found a solution, Do you mind sharing it? Or any one has the suggestion
on
how to configure Nginx HTTP Auth Request module to accomplish it?

Thanks,

JJ

Posted at Nginx Forum: