Setting up HTTP Basic Authorisation

Igor Sysoev is at rambler-co.ru
Wed Dec 6 15:24:07 MSK 2006


On Wed, 6 Dec 2006, T Gillett wrote:

> Igor Sysoev <is at ...> writes:
>
>>
>> On Wed, 6 Dec 2006, T Gillett wrote:
>>
>>> I am trying to set up HTTP Basic Authentication for nginx on my NSLU2 running
>>> Unslung 6.8.
>>>
>>> To test I have added the auth-basic lines to the nginx.conf file to control
>>> access to php files as follows:
>>>
>>> #proxy php-fcgi
>>>        location ~ \.php$ {
>>>            fastcgi_pass   127.0.0.1:9009;
>>>            fastcgi_index  index.php;
>>>            fastcgi_param  SCRIPT_FILENAME
> /opt/share/www/php/$fastcgi_script_name;
>>>            fastcgi_param  QUERY_STRING     $query_string;
>>>            fastcgi_param  REQUEST_METHOD   $request_method;
>>>            fastcgi_param  CONTENT_TYPE     $content_type;
>>>            fastcgi_param  CONTENT_LENGTH   $content_length;
>>> 	     auth_basic "Restricted";
>>>            auth_basic_user_file conf/htpasswd;
>>>
>>> With the auth-basic lines commented out, I can access the php pages OK.
>>> With the lines in place, I get the login dialog box as expected, but when I
>>> login, all that happens is that the login box is refreshed.
>>>
>>> Two entries are created in the host.access.log showing the attempted access.
>>> There is no entry in the error.log
>>>
>>> I think I am just missing some basic step in setting this up.
>>>
>>> Is the htpassword file correct?
>>> Is the encryption of the password correct?
>>
>> What does
>> perl -le 'print crypt("test", "cg")'
>> show ?
>>
>>> Any suggestions / help appreciated
>>
>>> ************************************************
>>> The htpassword file for the user account ЪЪtestЪЪ is as follows:
>>> 	test:cgsk91HyOZHGE
>>> (the password is ЪЪtestЪЪ)
>>>
>>> The entries in the host.access.log is as follows:
>>>
>>> 192.168.1.25 - - [06/Dec/2006:20:27:32 +1000] GET /hello.php HTTP/1.1
>>> Status"401" Bytes195 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
>>> rv:1.8.0.8) Gecko/20061025 Firefox/1.5.0.8" "-"
>>>
>>> 192.168.1.25 - test [06/Dec/2006:20:27:40 +1000] GET /hello.php HTTP/1.1
>>> Status"401" Bytes195 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
>>> rv:1.8.0.8) Gecko/20061025 Firefox/1.5.0.8" "-"
>>
>> Could you make a debug log ?
>>
>> Igor Sysoev
>> http://sysoev.ru/en/
>>
>>
>
>
> Hi Igor
> Thanks for the response.
>
> Running the perl crypt gives:
> # perl -le 'print crypt("test", "cg")'
> cgsk91HyOZHGE
>
>
> This is the way I have set up the error logging.
> Is this correct for debug log as you have asked?

Yes, the configuration is correct, however, nginx was not built with
debug logging. You should rebuild it using

./configure --with-debug ...

>   server {
>        listen       7007;
>        server_name  localhost;
>
>        access_log  /var/tmp/host.access.log main;
>        error_log /var/tmp/error.log debug;
>
>        location / {
>            root   html;
>            index  index.html index.htm;
>
>        }
>
> The error log shows entries for example for a request for a non-existent page as
> below:
>
> 2006/12/06 21:44:30 [error] 476#0: *1 open() "/opt/nginx/html/test.html" failed
> (2: No such file or directory), client: 192.168.1.25, server: localhost, URL:
> "/test.html", host: "192.168.1.78:7007"


Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list