nginx auth_basic with proxy pass to tomcat

Sergey Budnevitch sb at waeme.net
Wed Nov 7 10:12:00 UTC 2012


On 7  Nov2012, at 05:46 , Tharanga Abeyseela <tharanga.abeyseela at gmail.com> wrote:

> Hi Guys,
> 
> I need to add basic auth to my home page (index.html)  (Served by
> nginx)  and other directories resides on tomcat7. is there anyway i
> can add only authentication to index.html . i was using the following
> nginx configuration.
> 
> server {
>      access_log  /var/log/nginx/access.log;
>      error_log   /var/log/nginx/error.log;
>      index       index.html;
>      root        /var/www/;
>      server_name xxxxxxxx;
> }
> 
>      location / {
>        auth_basic "Restricted";
>        auth_basic_user_file /var/www/.htpass;
>      }
> 
> 
> 
> location /next {
>        proxy_pass             http://localhost:8080/next;
>        proxy_redirect         off;
>        proxy_set_header   Host             $host;
>        proxy_set_header   X-Real-IP        $remote_addr;
>        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
>        proxy_max_temp_file_size 0;
> }
> 
> when i try to add the above config, it asks for the user/pass, but it
> asks for the user/pass when i try to access /next. but i need to add
> authentication only to index.html. problem is  using the root
> directory, so all requests will be tunneled through root and prompted
> for a password. but is there any way i can restrict access only to
> index.html, once it authenticated, users will be able to access tomcat
> paths .

You have to add auth_basic off; to "location /next" or move auth_basic* directives to
"location = /index.html"



More information about the nginx mailing list