ОС CentOS 6.4 - сквид 3.1
У меня в настоящее время есть сквид, работающий как обратный прокси, выполняя аутентификацию NTML успешно. Это работает как ожидалось. Если я ввожу допустимое AD имя пользователя и пароль, оно впускает меня. Если я не делаю, я получаю 401.
То, что я изо всех сил пытаюсь разработать, - то, как я передаю по пользовательским деталям аутентификации. Я ожидал бы, что мой веб-сервер находился позади прокси сквида для получения заголовка с чем-то как набор REMOTE_USER, поскольку 'domain\username' кроме этого не имеет место.
Поиски Google не возвращают ничего полезного. Это - все, чтобы сделать с выполнением аутентификации во-первых, но у меня есть это выполнение хорошо.
Вот то, что я в настоящее время имею в своем squid.conf файле
## NTLM setup
http_port 3128 accel defaultsite=####
cache_peer 127.0.0.1 parent 80 0 no-query originserver
access_log /var/log/squid/access.log squid
hosts_file /etc/hosts
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 5
auth_param ntlm keep_alive on
acl ntlm proxy_auth REQUIRED
http_access allow ntlm
http_access deny all
Все работает успешно.
Добавив login=*:NOPASSWORD, я получаю переменную PHP_AUTH_USER. Полный squid.conf выглядит следующим образом:
http_port 3128 accel defaultsite=####
cache_peer #### parent 80 0 no-query login=*:NOPASSWORD originserver
access_log /var/log/squid/access.log squid
hosts_file /etc/hosts
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 5
auth_param ntlm keep_alive on
acl ntlm proxy_auth REQUIRED
http_access allow ntlm
http_access deny all
Дампа $_SERVER выглядит следующим образом:
Array
(
[USER] => ####
[HOME] => /var/www
[FCGI_ROLE] => RESPONDER
[SCRIPT_FILENAME] => ####
[QUERY_STRING] =>
[REQUEST_METHOD] => GET
[CONTENT_TYPE] =>
[CONTENT_LENGTH] =>
[SCRIPT_NAME] => /index.php
[REQUEST_URI] => /
[DOCUMENT_URI] => /index.php
[DOCUMENT_ROOT] => ####
[SERVER_PROTOCOL] => HTTP/1.1
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_SOFTWARE] => nginx/1.0.15
[REMOTE_ADDR] => 10.55.56.53
[REMOTE_PORT] => 49734
[SERVER_ADDR] => 10.55.151.53
[SERVER_PORT] => 80
[SERVER_NAME] => ####
[REDIRECT_STATUS] => 200
[HTTP_HOST] => ####
[HTTP_CONNECTION] => keep-alive
[HTTP_CACHE_CONTROL] => max-age=0
[HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,* /*;q=0.8
[HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36
[HTTP_ACCEPT_ENCODING] => gzip,deflate,sdch
[HTTP_ACCEPT_LANGUAGE] => en-GB,en;q=0.8,en-US;q=0.6,it;q=0.4
_pk_id.1.6d65=a3acbf13e64ec9b2.1412689051.1.1412690332.1412689051.;_pk_ses.1.6d65=*
[HTTP_IF_NONE_MATCH] => "1412690326"
[HTTP_IF_MODIFIED_SINCE] => Tue, 07 Oct 2014 13:58:46 +0000
[PHP_SELF] => /index.php
[PHP_AUTH_USER] => DOMAIN\USERNAME
[PHP_AUTH_PW] => NOPASSWORD
[REQUEST_TIME] => 1412690470
)