Squid и HeadHunter
На днях столкнулся с тем, что люди начали жаловаться, что у них не открывается сайт HeadHunter. А доступ в интернет у них через squid.
Начал я разбираться... И действительно, через обычный nat на сайт попасть можно было, а через squid нет. На страничке Требования к ПО у вышеупомянутого ресурса было лишь написано про работоспособность JavaScript. Попробовал я включить JavaScript:
acl javascript rep_mime_type -i ^application/x-javascript$
http_access allow javascript
Однако, это не помогло. Сайт hh.ru по-прежнему не открывался через squid.
Долгое гуглонье и метод научного тыка дали свои результаты Оказывается, для работы этого сайта надо было сделать ещё кое-что:
# список проблемных сайтов типа hh.ru
acl problem_sites url_regex -i "/etc/squid/problem-sites.txt"
# для доступа к проблемным сайтам
request_header_access Host allow problem_sites
request_header_access Connection allow problem_sites
request_header_access All deny problem_sites
Где /etc/squid/problem-sites.txt -- это файл, в который я буду заносить подобные сайты. Сейчас он у меня, пока что, выглядит так:
hh.ru
hhid.ru
P.S. Squid версии 3.1.19-1. В более ранних версиях директива называется "header_access"
Тем не менее, всё равно, проделанное выше не решило проблему полностью. Сайт открывается, но когда пытаешься залогиниться, то получаешь вот такую картинку:
Проблема решилась откатом на squid--3.1.10. Причём на этой версии сквида сайт hh.ru работает вообще без всяких извращений, о которых я тут написал.
А вот на версиях squid--3.1.15 и squid--3.1.19 (я только их пробовал) эта проблема есть.