#windows-authentication #proxypass #helicon-ape
#windows-проверка подлинности #proxypass #helicon-ape
Вопрос:
У нас есть сайт, использующий проверку подлинности Windows, расположенный за брандмауэром, к которому мы получаем доступ через ProxyPass. Затем нам нужно получить доступ к приложению API на том же сервере, но при попытке получить к нему доступ мы получаем несанкционированную ошибку 401 при использовании правил rewrite_proxy. Как мы можем передать учетные данные для проверки подлинности?
Для выполнения первоначального перенаправления с защищенной службы на внутренний сервер приложений:
В файле https.conf ProxyPass /blastdev/http://10.0.212.198/blastdev /
Похоже, что это работает правильно и загружает содержимое на страницу, пока мы не достигнем вызовов api:
в файле .htaccess
RewriteCond %{REQUEST_URI} ^/blastdev/blast(.*)
RewriteHeader X-Remote-User: .* %{REMOTE_USER}
RewriteHeader X-Logon-User: .* %{LOGON_USER}
RewriteHeader AUTH_TYPE: .* %{AUTH_TYPE}
RewriteProxy ^/blast/(.*)$ http://10.0.212.198/blast/$1 [NC, A, CR]
просто чтобы попытаться показать любую информацию о пользователе. Однако все поля отображаются пустыми.
Вот заголовки, которые мы в данный момент отправляем:
Headers:
'Cache-Control'='no-cache'
'Pragma'='no-cache'
'Expires'='Sat, 01 Jan 2000 00:00:00 GMT'
'Accept'='application/json, text/plain, */*'
'Accept-Encoding'='gzip, deflate'
'Accept-Language'='en-US,en;q=0.9'
'Referer'='http://dev.*******.com/blastdev/'
'User-Agent'='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'
'X-REQUEST-URI'='/blastdev/blast/api/usermanager/'
'X-Rewrite-Url'='/blastdev/blast/api/usermanager/'
'X-Original-Url'='/blastdev/blast/api/usermanager/'
'X-logio_http_input_size'='0'
'X-logio_request_headers_size'='746'
'X-Remote-User'=''
'X-Logon-User'=''
'AUTH_TYPE'=''
'Max-Forwards'='10'
'X-Forwarded-Host'='dev.*******.com'
'X-Forwarded-For'='10.1.13.42'
'X-Forwarded-Server'='10.0.90.54'
Нам нужно иметь возможность получить доступ к текущему пользователю, если он прошел проверку подлинности AD, и убедиться, что он анонимный, если нет.
Также была бы оценена любая дополнительная помощь в тестах, которые мы можем запустить для дальнейшего устранения неполадок.