Nginx configuration question
        Posted  
        
            by 
                Pockata
            
        on Server Fault
        
        See other posts from Server Fault
        
            or by Pockata
        
        
        
        Published on 2010-07-14T21:25:23Z
        Indexed on 
            2010/12/25
            21:55 UTC
        
        
        Read the original article
        Hit count: 386
        
Hey guys, i'm trying to make the autoindex feature only run for my ip address with this code:
server{ ... autoindex off; ... if ($remote_addr ~ ..*.*) { autoindex on; } ... } But it doesn't work. It gives my a 403 :/ Can someone help me :) Btw, i'm using Debian Lenny and Nginx 0.6 :)
EDIT: Here's my full configuration:
server {
    listen   80;
    server_name  site.com;
    server_name_in_redirect off;
    client_max_body_size 4M;
    server_tokens off;
#   log_subrequest on;  
    autoindex off;
#   expires max;
    error_page   500 502 503 504 /var/www/nginx-default/50x.html;
#   error_page  404  /404.html;
    set $myhome /bla/bla;
    set $myroot $myhome/public;
    set $mysubd $myhome/subdomains;
    log_format  new_log
    '$remote_addr - $remote_user [$time_local] $request '
            '"$status" "$http_referer" '
            '"$http_user_agent" "$http_x_forwarded_for"';
    # Star nginx :@
    access_log /bla/bla/logs/access.log new_log;
    error_log /bla/bla/logs/error.log;
    if ($remote_addr ~ 94.156.58.138) {
        autoindex on;
    }
    # Subdomains
    if ($host ~* (.*)\.site\.org$) {
        set $myroot $mysubd/$1;
    }
    # Static files
#   location ~* \.(jpg|jpeg|gif|css|png|js|ico)$ {
#       access_log        off;
#       expires           30d;
#   }
    location / {
        root  $myroot;
        index  index.php index.html index.htm;
    }
    # PHP
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $myroot$fastcgi_script_name;
        include fastcgi_params;
    }
    # .Htaccess
    location ~ /\.ht {
        deny  all;
    }
}
I forgot to mention that when i add the code to remove static files from my access log, the static files cannot be accessed. I don't know if it's relevant :)
© Server Fault or respective owner