.
|-- 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はなんでか継承されないので いちいち書く必要がある。