Как настроить прокси-сервер Squid и сервер ICAP с использованием greasyspoon для доступа к user_id
Мы используем прокси-сервер Squid вместе с сервером ICAP GreasySpoon для изменения ответов в целях разработки. Нам необходимо разрешить различным разработчикам вносить различные изменения в ответы, поскольку они работают над вещами, относящимися к различным модификациям. Первоначально, когда мы установили эту настройку в нашей локальной сети, мы смогли приспособиться к этому, используя параметр сценария user_id внутри сценариев ответа GreasySpoon. Этот параметр заполняется локальным IP-адресом разработчика, поэтому мы можем основывать вещи на разных IP-адресах.
Когда мы перенесли установку в облако, у каждого был наш общий WAN IP для параметра user_id, и наша схема сломалась.
Комментарии в скрипте GreasySpoon по умолчанию показывают, что user_id может быть логином пользователя:
// user_id : (String)user id (login or user ip address)
Я настроил аутентификацию на сервере squid, но для user_id все еще задан наш общий WAN IP. Можно ли заполнить этот параметр скрипта в GreasySpoon именем пользователя прокси-пользователя с помощью squid?
1 ответ
Файл конфигурации GreasySpoon (1.0.10) service.properties содержит параметр: SpoonScript.icapuserheader=x-authenticated-user
, Это заголовок, который GreasySpoon проверяет, чтобы найти user_id. Если это значение не найдено, то GreasySpoon возвращается к IP-адресу. Поэтому вы должны сконфигурировать squid для отправки имени пользователя, прошедшего аутентификацию, в том же заголовке, который настроен в файле свойств.
// in squid.conf:
icap_client_username_header x-authenticated-user