Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.
Здравствуйте! Вопрос, squid в прозрачном режиме (в том числе https), хочу часть сайтов перенаправлять (redirect) с http на https (те что могут и так и так открываться, но чтоб было только одно). Для этого добавил к конфигу часть:
Стал выполняться редирект, но только если squid работает в прозрачном режиме (в браузере не прописан). Если прописать в браузере прокси (192.168.2.1:3128), то редирект перестаёт работать.
Боюсь, что squid видит в intercept режиме, что клиент подключается к порту 80, а в обычном режиме - к порту 3128.
Могу ошибаться, но мне кажется именно поэтому не срабатывает правило acl PORT80 localport 80
Да так и есть, именно это и помогло. К сожалению ваше сообщение я увидел уже позже. В начале искал что такое localport, нигде толком не описано, только вскользь. Потом просто поменял его на port, просто исходя из того что в конфиге он встречается. Сейчас фрагмент выглядит вот так:
У меня squid настроен так, что данные получает от другого (вышестоящего) прокси (cache_peer). Бывает этот вышестоящий прокси сообщает состояние "403 Request blocked by Proxy", а squid его ретранслирует браузеру как "403 Forbidden". Формально наверно ошибки нет, но мне нужно чтоб эту "модификацию" squid не производил, а передавал как есть, иначе не понятно чей это ответ, от сайта или от прокси.
403 — это именно Forbidden и ничто другое. Это вышестоящий прокси ведёт себя некорректно. Мог бы в дополнение к статусу выдать страницу с описанием ошибки.
Вышестоящий, блокировщик, т.о. он не допускает загрузку "вредного контента". Сейчас это не суть, правильно это или нет, меня только одно интересует, как сделать чтоб squid не модифицировал этот заголовок?
Есть несколько девайсов типа смарт-тв. Они как и все прочие в локальной сети работают через squid. Кроме всего этого, у меня есть вышестоящий прокси (на том же устройстве что и squid) - privoxy. С его помощью я фильтрую весь веб трафик (и https), точнее тот что идёт с 80 и 443 портов (в прозрачном режиме через squid). Проблема в том что смарт-тв плохо работают в такой схеме, точнее почти что не работает https. Попробовал решить так, составил acl для этих устройств и acl с url'ами, к которым они подключаются и в случае совпадения, squid делает прямое подключение, минуя вышестоящий прокси. Всё вроде бы ничего, работает. acl со списком устройств я сделал через arp, acl acl-name arp "/path/to/list", т.е. использовал mac'и устройств т.к. не меняются, ip не могу использовать т.к. они меняются, точнее меняются ipv6, ipv4 постоянны. Проблема в том что эта конструкция работает только для ipv4, т.е. когда клиент и удалённый сервер используют ipv4. Для ipv6 есть eui-64, но в моём случае это не работает, потому что это использует link local address как я понял, тот что начинается на fe80. Но клиенты для обращения используют глобальный ipv6 (который ещё и меняется по этой схеме), это видно в логах squid. Что можно сделать?