Локальный обход базовой аутентификации HTTP

У меня есть два приложения, которые я не могу изменить:

A: предоставляет URL-адрес, защищенный базовой HTTP-аутентификацией. B: требуется доступ к этому URL-адресу, но базовая аутентификация не поддерживается. Учетные данные доступны.

Как я могу заставить мои два приложения работать вместе?

Я подумал, что локальный прокси может быть отличным, который внедряет аутентификацию. Например. используя сокат:

socat TCP4-LISTEN:81,reuseaddr,fork TCP:UrlToA:80,<inject-basic-auth>=user:pass

Однако socat не предоставляет такой опции, как ‹ inject-basic-auth >. Кто-нибудь знает какой-нибудь инструмент, который может помочь? Есть ли другой выход?


person Jack Miller    schedule 17.07.2013    source источник


Ответы (2)


Вы должны настроить обратный прокси-сервер HTTP, который выполняет аутентификацию за вас. Не нужно взламывать какое-либо программное обеспечение.

Ваш обратный прокси-сервер прослушивает какой-то сокет (например, прокси: 8080) и перенаправляет запросы в ваше фактическое приложение A, вставляя заголовки.

client_B ----> http://proxy:8080 -----> http://server_A:80

Nginx легкий, высокопроизводительный и простой в настройке. И легко найти документы в Интернете для того, что вы хотите. См., например, http://wiki.apache.org/couchdb/Nginx_As_a_Reverse_Proxy.

person Eric    schedule 17.02.2014
comment
Бинго! И он также поддерживает auth_basic. Это то, что я искал! - person Jack Miller; 18.02.2014
comment
Ссылка не работает. Можно ли добавить заголовки с помощью fiddler. На всех компьютерах нашей компании уже работает fiddler, так что это было бы здорово. Есть ли где-нибудь руководство о том, как это сделать. Я искал какое-то время, теперь я не могу найти много информации. - person Martijn; 17.04.2020

Эта проблема представляется весьма специфичной. Так что вы, вероятно, не найдете готовый к использованию инструмент.

Если вы хотите сделать это самостоятельно, ваш лучший подход, вероятно, состоит в том, чтобы расширить socat:

http://www.dest-unreach.org/socat/download/socat-1.7.2.2.tar.gz

Удачи!

person user2763950    schedule 10.09.2013