ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

auth_request, HTTP 401 иотсутствующ ийхедер WWW-Authenticate


  • To: nginx-ru@xxxxxxxxx
  • Subject: auth_request, HTTP 401 иотсутствующ ийхедер WWW-Authenticate
  • From: Pavel Kolla <pavelkolla@xxxxxxxxx>
  • Date: Tue, 1 Feb 2011 15:32:52 +0000 (UTC)

Доброе время суток...

Столкнулся с проблемой, к сожалению, превышающей мои возможности -

Я использую nginx для имплементации ауфентикационной части некого клиент-
серверного бизнес приложения ориентированного на веб. Аутентификация происходит 
посредством ngx_postgress и вроде как, с точки зрения логики, решение вполне 
функционально и работоспособно с данной конфигурацией: http://dpaste.com/
hold/374783/

Проблема с которой я столкнулся связана (по моему мнению) с модулем 
auth_request и выражается в отсутствующем "WWW-Authenticate" хедере в ответе на 
первоначальный запрос, требуемым для инициализации процесса на клиенте. В моём 
случае auth_request не только сам не посылает этот хедер, но и не предполагает 
возможность дорисовать его в ручную (и даже если то было бы возможно - 
auth_request игнорирует if директивы в том же контекстном блоке, лишая 
возможности анализировать запрос и дорисовывать "WWW-Authenticate" хедер только 
в тех случаях, когда клиент уже предоставляет аутефикационную информацию в виде 
"Authenticate:" хедера)

Ещё одна иллюстрация той же проблемы для банального HTTP 401 ответа:

 $ curl -I  http://pkolla:88/t1/
HTTP/1.1 200 OK
Server: nginx/0.8.54
Date: Tue, 01 Feb 2011 14:15:31 GMT
Content-Type: application/octet-stream
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=20
WWW-Authenticate: pkolla

 $ curl -I  http://pkolla:88/t2/
HTTP/1.1 401 Unauthorized
Server: nginx/0.8.54
Date: Tue, 01 Feb 2011 14:15:34 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 195
Connection: keep-alive
Keep-Alive: timeout=20



Конфигурация при этом выглядит как:

location /t1/
{
 set   $app test1;
 add_header   "WWW-Authenticate" $host;
 echo "test1";
}

location /t2/
{
 set   $app test2;
 add_header   "WWW-Authenticate" $host;
 return   401;
 echo   "test2";
}

В исходниках модуля я вижу что, по идее, хедер должен быть послан, однако этого 
не происходит в моём случае. Буду рад услышать ваши мнения и советы 
относительно возможных граблей.
Благодарю заранее.


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.