Я хочу настроить прозрачный HTTP/HTTPS прокси для фильтрации исходящих запросов на основе имени хоста назначения (домена). Сам прокси должен быть неинтрузивным и просто пересылать трафик, а не расшифровывать/модифицировать его. В случае HTTPS он должен использовать расширение TLS SNI для извлечения имени хоста без расшифровки.
Несколько клиентов будут использовать прокси для доступа к нескольким хостам, поэтому прокси должен проверять, разрешено ли данное имя хоста назначения для клиента, который сделал запрос.
Возможно ли это с помощью squid (желательно версии 3.3.8)? Если да, не могли бы вы предоставить простой пример конфигурации, как это реализовать? Если нет, можете ли вы порекомендовать альтернативные варианты, которые могут это сделать?
Дополнительная информация:
Большое спасибо!
То, что вам нужно, возможно с кальмаром, начиная с версии 3.5, потому что вам нужна функция 'peek-and-splice', введенная в этой версии. Ваше действие называется "заглянуть": http://wiki.squid-cache.org/Features/SslPeekAndSplice .
Используйте что-то вроде:
https_port 3130 intercept ssl-bump
ssl_bump peek all
ssl_bump splice all
перехват
делает прокси прозрачным.
Я не уверен насчет третьего требования (использование DNS имен), squid кажется действительно прозрачным в этом режиме. Но он должен извлекать информацию SNI, если она есть.
Можно использовать эту информацию в ACL:
acl aclname ssl::server_name .foo.com ...