. |-- index.html |-- hutsu.html |-- normal.cgi `-- admin |-- index.html |-- himitsu.html `-- special.cgi
拡張子cgiをfastcgiで動かしつつ、adminの下にはBASIC認証をかけたい。
server { # fastcgiパラメータ読み込み include /etc/nginx/fastcgi_params; # HTML用の設定 location / { root /var/www/html/; # adminの下はBASIC認証 location /admin/ { auth_basic "admin"; auth_basic_user_file /etc/jikken/htpasswd.txt; } } # CGI用の設定 location ~ \.cgi$ { root /var/www/html/; fastcgi_pass unix:/var/run/fcgiwrap.socket; #★ # adminの下はBASIC認証 location ~ /admin/ { fastcgi_pass unix:/var/run/fcgiwrap.socket; #★ auth_basic "admin"; auth_basic_user_file /etc/jikken/htpasswd.txt; } } }
1.3 nginxの思想
locationディレクティブは入れ子に出来る。 そして、その中身はだいたい継承される。
しかし、fastcgi_passはなんでか継承されないので いちいち書く必要がある。