conditional auth_basic

Cedric Jeanneret cedric.jeanneret at camptocamp.com
Tue Oct 5 09:33:40 MSD 2010


Hello,

I have a special setup involving a wildcard :
server {
  server_name         *.domain.ltd
  access_log          /var/log/nginx/itnux_acces.log main;
  error_log           /var/log/nginx/itnux_error.log info;
  add_header X-Devel  "$host - production site";


  location / { 
    proxy_pass        http://localhost:9095;
    proxy_set_header  Host $host;
  }
}


I'd like to add some auth_basic, only if $host is NOT "demo.domain.ltd".

I thought I could make it like that:
  location / { 
    proxy_pass        http://localhost:9095;
    proxy_set_header  Host $host;
    if ($host != 'demo.domain.ltd') {
      auth_basic  "Not for everyone ;)";
      auth_basic_user_file  /var/www/vhosts/domain.ltd/htaccess;
    }
  }

But it seems that nginx doesn't like it:
nginx -t
[emerg]: "auth_basic" directive is not allowed here in /etc/nginx/vhosts/wildcard.domain.ltd.conf:17
configuration file /etc/nginx/nginx.conf test failed

How can I do this ? Do I have to declare "demo.domain.ltd", and then the wildcard in two distinct servers ?

Thank you in advance.

Best regards,

C.


-- 
Cédric Jeanneret                 |  System Administrator
021 619 10 32                    |  Camptocamp SA
cedric.jeanneret at camptocamp.com  |  PSE-A / EPFL
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx/attachments/20101005/78440e39/attachment-0001.pgp>


More information about the nginx mailing list