Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Клиент отвечает правильно – с авторизацией и на прокси- и на веб-сервере:
GET /?test HTTP/1.1
Host: localhost
Proxy-Authorization: NTLM JKHGJKHGLKJHAAAAt4IYUAAAAAAAAAAAAAAAAAAAAAA=
Authorization: Basic YmxhYmxhYmxhOg==
Сервер сообщает, что всё в порядке:
HTTP/1.1 200 OK
Server: squid/2.5.STABLE3
Mime-Version: 1.0
Content-Type: text/html
Content-Length: 19
Connection: close
Данный протокол на примере Mozilla FireBird 0.6.1 иллюстрирует вполне «законную» возможность использования авторизации на прозрачном прокси-сервере. Возникает резонный вопрос: почему в FAQ сервера Squid наличествует фраза «...proxy_auth can’t be used in a transparent proxy...»?
Для начала обратимся к исходным кодам Squid. Связь между авторизацией и режимом работы сервера прослеживается в двух файлах – acl.c и client_side.c. При анализе кода становится ясно, что возможность использования авторизации в данном случае просто игнорируется!
Участок исходного кода acl.c:
http_hdr_type headertype;
if (NULL == r) {
return -1;
} else if (!r->flags.accelerated) {
/* Proxy authorization on proxy requests */
headertype = HDR_PROXY_AUTHORIZATION;
} else if (r->flags.internal) {
/* WWW authorization on accelerated internal requests */
headertype = HDR_AUTHORIZATION;
} else {
#if AUTH_ON_ACCELERATION
/* WWW authorization on accelerated requests */