Добрый день.Подскажите, есть такая задача:
надо заставить squid для некоторых пользователей (вернее с некоторых ip адресов) заменять сайт на другой. при этом чтобы они нормально с этой подменой работали и даже не догадыавлись об этом.
Сложно сформулировать мою специфическую задачу... думаю для примера могу сказать так (на самом деле сайты другие, но смысл тот-же): для некоторых пользователей надо чтобы они идя на mail.ru поподали на rambler.ru и при этом работали нормально, т.е. в адресной строке у них был именно mail.ru, но со страничками с рамблера. Т.е. нужна именно подмена URL на уровне прокси. Даже, наверное не URL, а IP адреса сайта. реально такое в принципе?Вообще сие реально, если поднять транспарант прокси, которому прописать свой файл hosts... но не хотелось бы городить с двумя проксями... хочу все на одном сделать.
http://www.opennet.me/openforum/vsluhforumID10/4817.html Радиация, солнечная, наверное?...
> http://www.opennet.me/openforum/vsluhforumID10/4817.html Радиация, солнечная, наверное?...про радиацию не понял.
А задача у меня другая. deny_info не подходит, т.к. она просто переправляет на другой сайт а надо чтобы была подмена, по сути самого сайта, либо ip адреса. Можно с помощью dns, но я не могу биндом раздавать разную информацию для разных машин, да и криво это.
Можно, как я уже говорил, поднять второй сквид со своим hosts_file и с помощью always_direct, newer_direct разруливать по разным cache_peer. Этот вариант мне не охото делать - не красиво как-то. Мечтаю, чтобы все было на одной проксе.
> deny_info не подходит,Зато редиректор подходит.
>> deny_info не подходит,
> Зато редиректор подходит.а с этого момента по подробнее, если можно.
насколько я понимаю, надо какой-то скрипт... если честно, я ничего не нагуглил по этому вопросу... можно пример скрипта? или хотя бы входные и выходные параметры...
>>> deny_info не подходит,
>> Зато редиректор подходит.
> а с этого момента по подробнее, если можно.
> насколько я понимаю, надо какой-то скрипт... если честно, я ничего не нагуглил
> по этому вопросу... можно пример скрипта? или хотя бы входные и
> выходные параметры...ван момент, кажется нарыл... читаю...
>>> deny_info не подходит,
>> Зато редиректор подходит.
> а с этого момента по подробнее, если можно.
> насколько я понимаю, надо какой-то скрипт... если честно, я ничего не нагуглилЯ использую jesred - есть в пакете в дистрибутиве и скрипт писать не надо, только конфиг.
В squid.conf:
---8<---
redirect_program /usr/lib/squid/jesred
redirect_children 25
--->8---* 25 потому что в какой-то момент 5-ти на всех не хватило. у меня. YMMV
* Старорежимные опции. В examples/squid.conf числятся как url_rewrite_program и url_rewrite_children. Но почему-то :) работает. И squid меня старый - 2.6.20.
В /etc/jesred.rules напиши что-нибудь вроде (нет, не проверял) -
---8<---
regex ^http://mail\.ru((/|$).*)$ http://rambler.ru\1 ^http://mail.ru
--->8---Весь пример. И никаного %) перла-питона-двавва.