Disabling basic_auth with rewrites
Maxim Dounin
mdounin at mdounin.ru
Thu May 19 18:09:50 MSD 2011
Hello!
On Thu, May 19, 2011 at 09:59:37AM -0400, klausi wrote:
> Hi,
>
> I would like to generally protect my site but allow one certain path.
> However, I need rewrites to forward the requested path to a PHP file.
> Unfortunately the following does not work:
>
> location ~ ^/feeds/importer/.* {
> auth_basic off;
> rewrite ^/(.*)$ /index.php?q=$1;
> }
>
> location ~ \.php$ {
> auth_basic "protected";
> auth_basic_user_file /etc/nginx/htpasswd/protected;
> fastcgi_split_path_info ^(.+\.php)(/.+)$;
> include fastcgi_params;
> fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
> fastcgi_intercept_errors on;
> fastcgi_pass $socket;
> # workaround as fastcgi_param cannot be used inside if statements
> set $https off;
> if ($scheme = https) {
> set $https on;
> }
> fastcgi_param HTTPS $https;
> fastcgi_read_timeout 6000;
> }
>
> location ~ ^/(.*) {
> auth_basic "protected";
> auth_basic_user_file /etc/nginx/htpasswd/protected;
> try_files $uri /index.php?q=$1&$args;
> }
>
> Any ideas how to unprotect the first location?
location / {
auth_basic "protected";
auth_basic_user_file /etc/nginx/htpasswd/protected;
...
location ~ \.php$ {
fastcgi_pass ...
...
}
}
location /feeds/importer/ {
...
location ~ \.php$ {
fastcgi_pass ...
...
}
}
Maxim Dounin
More information about the nginx
mailing list