basic-authentication and php?
Igor Sysoev
is at rambler-co.ru
Fri May 22 21:21:33 MSD 2009
On Fri, May 22, 2009 at 04:56:28PM +0100, Ian Hobson wrote:
> Hi all,
> I'm trying to set up basic authentication to protect an area of the
> website served by php.
>
> The critical bits of my server directive are.
>
> server (
> listen 80;
> server_name site.com www.site.com;
> root /var/www/site.com/htdocs;
> index index.php index.html index.htm;
> access_log /var/www/site.com/access.log;
>
> location ~ \.php {
> include /etc/nginx/fastcgi_params;
> fastcgi_pass 127.0.0.1:9000;
> }
>
> location ^~ /usage/ {
> auth_basic "Hello, Please login";
> auth_basic_user_file /var/www/site.com/passwords;
> }
>
> location ^~ /ppg/ {
> auth_basic "Hello, Please login";
> auth_basic_user_file /var/www/site.com/passwords;
> }
> }
>
> The directory /usage/ does NOT contain any php files and works just fine.
>
> The directory /ppg/ contains index.php - which is sent to the browser,
> not to fastcgi :(
>
> So how can I configure it. (If basic-auth cannot work, it would be ok
> to use
> allow and deny all.)
>
> I'm using nginx 0.6.35
The "/ppg/" request invokes an internel redirect to "/ppg/index.php",
which is handled in "location ^~ /ppg/", because regex testing is disabled
by "^~". You should either remove "^~":
- location ^~ /ppg/ {
+ location /ppg/ {
or add additional
location = /ppg/index.php {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
auth_basic "Hello, Please login";
auth_basic_user_file /var/www/site.com/passwords;
}
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list