Как настроить прокси-сервер 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
Другие вопросы по тегам