LinuxForum.Fans
Тема

Squid и HeadHunter

Автор: technotrance 23 сообщений 5174 просмотров
#277647

Здравствуйте!
Уже несколько дней борюсь, что сайт hh.ru (HeadHunter) нормально работал через squid.
Пока что, мне удалось лишь добиться того, чтобы на него просто можно было заходить. Поборол это вот таким способом:
http://technotrance.su/index.php/moi-zamet...quid-headhunter
Но осталась ещё одна проблема, которую не могу победить. Когда нажимаю кнопочку "Вход в личный кабинет", то сайт жалуется:
"Вход невозможен
К сожалению, вы не можете войти на сайт, так как в вашем браузере отключена поддержка cookies. Для корректной работы с сайтом вы должны разрешить установку обычных, сессионых cookies, а также cookies со сторонних доменов. "
Само собой, что в браузере всё включено.
В конфиг сквида также добавил строчки:

text
request_header_access Cookie allow problem_sites
request_header_access Set-Cookie allow problem_sites

но это не помогло.
Уважаемые камрады, если у кого-то тоже стоит squid и вас получается с него зайти на hh.ru и получается там войти в личный кабинет, то поделитесь, пож-та, как вы это сделали!!!

#277649

а можно встречный вопрос? зачем вы режете заголовки?

#277669

Вы про request_header_access? Я ж говорю, дошёл до этого долгим гуглоньем и методом научного тыка... Без этих настроек сайт вообще не открывался.

#277673

из вашего же поста на вашем же сайте:

request_header_access Host allow problem_sites
request_header_access Connection allow problem_sites
request_header_access All deny problem_sites

т.е

разрешить заголовок Host для problem_sites
разрешить заголовок Connection для problem_sites
ЗАПРЕТИТЬ ВСЕ заголовки для problem_sites

до hh.ru дойдут только заголовки host и connection, все остальные, включая немаловажный UserAgent порежутся. я правильно понял?

#277701

Ну вот потому и режу, что если добавить запись:

text
request_header_access User-Agent allow problem_sites

или же если закомментировать:

text
# request_header_access All deny problem_sites

то на hh.ru вобще зайти не получается.
Кстати, заходить через лису пытаюсь. Через ишака тоже самое...

#277708

Ему, похоже, именно User-Agent не нравится, поскольку вот так на сайт попасть тоже можно:

text
request_header_access Allow allow problem_sites
request_header_access Authorization allow problem_sites
request_header_access WWW-Authenticate allow problem_sites
request_header_access Proxy-Authorization allow problem_sites
request_header_access Proxy-Authenticate allow problem_sites
request_header_access Cache-Control allow problem_sites
request_header_access Content-Encoding allow problem_sites
request_header_access Content-Length allow problem_sites
request_header_access Content-Type allow problem_sites
request_header_access Date allow problem_sites
request_header_access Expires allow problem_sites
request_header_access Host allow problem_sites
request_header_access If-Modified-Since allow problem_sites
request_header_access Last-Modified allow problem_sites
request_header_access Location allow problem_sites
request_header_access Pragma allow problem_sites
request_header_access Accept allow problem_sites
request_header_access Accept-Charset allow problem_sites
request_header_access Accept-Encoding allow problem_sites
request_header_access Accept-Language allow problem_sites
request_header_access Content-Language allow problem_sites
request_header_access Mime-Version allow problem_sites
request_header_access Retry-After allow problem_sites
request_header_access Title allow problem_sites
request_header_access Connection allow problem_sites
request_header_access Proxy-Connection allow problem_sites
# request_header_access User-Agent allow problem_sites
request_header_access Set-Cookie allow problem_sites
request_header_access Cookie allow problem_sites
request_header_access All deny problem_sites

Но при нажатии надписи "Вход в личный кабинет", всё равно ругается: "Вход невозможен. К сожалению, вы не можете войти на сайт, так как в вашем браузере отключена поддержка cookies. Для корректной работы с сайтом вы должны разрешить установку обычных, сессионых cookies, а также cookies со сторонних доменов. "

#277830

попробуйте

text
request_header_access Cookie allow all

хотя без понимания ситуации целиком (читай без конфигов) разобраться сложно

#278862

Это не помогло :(

А у Вас у самого squid есть? Можете через свой squid зайти на hh.ru и посмотреть, не будет ли у Вас вот такого:

#278865
osorkon написал:
без понимания ситуации целиком (читай без конфигов) разобраться сложно

Конфиг то вот он (полностью):

text
# created by SAMS _sams_ 2012-10-11 11:59:49
# TAG: http_port

http_port 172.16.1.100:3128 visible_hostname 172.16.1.100

# dns_nameservers 127.0.0.1 8.8.8.8 8.8.4.4 # Здесь нужно указать ДНС-серверы вашего провайдера (через пробел).

hierarchy_stoplist cgi-bin ? # squid не будет кешировать динамически генерируемые страницы (поисковые сервера, некоторые другие серверы и чаты), # а будет напрямую перенаправлять запрос серверу

coredump_dir /var/spool/squid # Указываем куда сбрасывать core

# TAG: cache_mem (bytes)

cache_mem 1024 MB # сколько оперативной памяти сквид может забрать под свои нужды.

maximum_object_size 2000 KB # максимальный размер объектов, которые будут сохранены на диск.

maximum_object_size_in_memory 1000 KB # максимальный размер объектов, которые будут сохранены в кэше.

# TAG: cache_dir

cache_dir ufs /var/spool/squid 4096 16 256 # указывает сквиду, где сохранять кешируемые файлы. Указывает отдать под кеш 4096 мегабайт и # создать 16 и 256 соответственно каталогов 1го и 2го уровня.

# TAG: cache_access_log # TAG: cache_log # TAG: cache_store_log # TAG: ftp_user

# в этих строках мы указываем сколько времени в минутах объект в кеше считается свежим # и какой процент объектов оставлять с последнего обновления refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320

# TAG: redirect_program # redirect_program /etc/squid/redirector.sams # Позже, здесь можно будет указать путь к редиректору.

# TAG: redirector_access

# TAG: auth_param

auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of="ATG-U\\Пользователи домена" auth_param ntlm children 100 auth_param ntlm keep_alive on

auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of="ATG-U\\Пользователи домена" auth_param basic children 100 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours auth_param basic casesensitive off

# TAG: acl acl _sams_505aa18873aed proxy_auth "/etc/squid/505aa18873aed.sams" acl _sams_505aa18873aed_time time MTWHFAS 00:00-23:59 acl _sams_505aa15012b0d proxy_auth "/etc/squid/505aa15012b0d.sams" acl _sams_505aa15012b0d_time time MTWHFAS 00:00-23:59 acl _sams_505aa0a793b3e url_regex -i "/etc/squid/505aa0a793b3e.sams" acl _sams_chat url_regex -i "/etc/squid/chat.sams" acl _sams_porno url_regex -i "/etc/squid/porno.sams"

acl manager proto cache_object # назначить протоколу кеширования объектов название manager

acl localhost src 127.0.0.1/32 172.16.1.100/32 # адрес сервера

acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 # удалённые адреса

acl localnet src 172.16.0.0/23 # адресное пространство локальной сети

acl SSL_ports port 443 acl Safe_ports port "/etc/squid/allowports.txt" # разрешённые порты

acl CONNECT method CONNECT

# для джаваскриптов и загрузки файлов acl fileupload req_mime_type -i ^multipart/form-data$ acl javascript rep_mime_type -i ^application/x-javascript$

# список проблемных сайтов типа hh.ru acl problem_sites url_regex -i "/etc/squid/problem-sites.txt"

# Only allow cachemgr access from localhost http_access allow manager localhost http_access deny manager

http_access deny !Safe_ports # Запрет всех портов, кроме разрешённых

http_access deny CONNECT !SSL_ports # Запрет всех SSL портов, кроме разрешённых

http_access deny to_localhost

# разрешить джаваскрипты и загрузку файлов http_access allow fileupload http_access allow javascript

# для доступа к проблемным сайтам request_header_access Allow allow problem_sites request_header_access Authorization allow problem_sites request_header_access WWW-Authenticate allow problem_sites request_header_access Proxy-Authorization allow problem_sites request_header_access Proxy-Authenticate allow problem_sites request_header_access Cache-Control allow problem_sites request_header_access Content-Encoding allow problem_sites request_header_access Content-Length allow problem_sites request_header_access Content-Type allow problem_sites request_header_access Date allow problem_sites request_header_access Expires allow problem_sites request_header_access Host allow problem_sites request_header_access If-Modified-Since allow problem_sites request_header_access Last-Modified allow problem_sites request_header_access Location allow problem_sites request_header_access Pragma allow problem_sites request_header_access Accept allow problem_sites request_header_access Accept-Charset allow problem_sites request_header_access Accept-Encoding allow problem_sites request_header_access Accept-Language allow problem_sites request_header_access Content-Language allow problem_sites request_header_access Mime-Version allow problem_sites request_header_access Retry-After allow problem_sites request_header_access Title allow problem_sites request_header_access Connection allow problem_sites request_header_access Proxy-Connection allow problem_sites # request_header_access User-Agent allow problem_sites request_header_access Set-Cookie allow problem_sites request_header_access Cookie allow problem_sites request_header_access All deny problem_sites

# TAG: http_access http_access allow _sams_505aa18873aed !_sams_505aa0a793b3e !_sams_chat !_sams_porno _sams_505aa18873aed_time http_access allow _sams_505aa15012b0d _sams_505aa15012b0d_time

http_access allow localhost # разрешить доступ с сервера

http_access deny all # запретить всё остальное

# TAG: delay_pools

icap_enable on # включить icap

icap_preview_enable on icap_preview_size 128 icap_send_client_ip on

icap_service service_req reqmod_precache bypass=1 icap://127.0.0.1:1344/srv_clamav

icap_service service_resp respmod_precache bypass=0 icap://127.0.0.1:1344/srv_clamav

adaptation_access service_req allow all adaptation_access service_resp allow all # всех проверяем на вирусы

#278872

Захожу через прокси и не получаю такую ошибку.

text
http_port 3128
auth_param basic program /usr/lib64/squid/squid_ldap_auth -R -D sel_ldap@smb.mgkb1.local -w XXXXXX -b "dc=smb,dc=mgkb1,dc=local" -f "sAMAccountName=%s" 192.168.2.82 -p 389

auth_param basic children 20 auth_param basic realm Internet Access MGKB1 auth_param basic credentialsttl 1 minutes auth_param basic casesensitive off

external_acl_type ldap_users %LOGIN /usr/lib64/squid/squid_ldap_group -R -b "OU=UsersDom,DC=smb,DC=mgkb1,DC=local" -f "(&(sAMAccountName=%v)(memberOf=CN=%a,CN=Builtin,DC=smb,DC=mgkb1,DC=local))" -D sel_ldap@smb.mgkb1.local -w "XXXXXXX" 192.168.2.82 -v 3 -p 389

hierarchy_stoplist cgi-bin ?

coredump_dir /var/spool/squid

refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320

access_log /var/log/squid/access.log squid

cache_mem 1024 MB cache_effective_user squid cache_effective_group squid cache_dir ufs /var/spool/squid/ 1024 16 256 cache_swap_low 97 cache_swap_high 100

acl manager proto cache_object acl localhost src 127.0.0.1/32

acl inetusers external ldap_users ia acl insured_user external ldap_users insured acl small_allow url_regex -i "/etc/squid/Privilegy_list"

acl media urlpath_regex -i \.mp3$ \.asf$ \.wma$ #dns_nameservers 192.168.2.82 192.168.1.77 192.168.3.223

acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT

delay_pools 2 # ограничим mp3 до 30 Кб/с delay_class 1 1 delay_parameters 1 30000/30000 delay_access 1 allow media delay_access 1 deny all # ограничим ldap users до 150 Кб/с delay_class 2 1 delay_parameters 2 150000/150000 delay_access 2 allow inetusers insured_user delay_access 2 deny all

http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports

http_access allow inetusers http_access allow insured_user small_allow http_access allow localhost http_access deny all

http_reply_access allow all icp_access allow all

coredump_dir /var/spool/squid

log_fqdn on # Настроим ротацию логов logfile_rotate 1 # Отключить удаление параметров передаваемых в URL запросе strip_query_terms off logformat squid %ts %6tr %>A %Ss/%03>Hs %<st %rm %ru %un %Sh/%<A %mt

Конфиг почти по дефолту.

#278967

в браузере с куками всё нормально, всё включено. И если через NAT заходить (через этот же браузер), то в личный кабинет попасть можно. А через прокси ошибку вот даёт...

#278968
technotrance написал:
в браузере с куками всё нормально, всё включено. И если через NAT заходить (через этот же браузер), то в личный кабинет попасть можно. А через прокси ошибку вот даёт...

Ну так и формулируйте вопрос - проблема куки и прокси!

#278972
XliN написал:
Захожу через прокси и не получаю такую ошибку.
text
http_port 3128
auth_param basic program /usr/lib64/squid/squid_ldap_auth -R -D sel_ldap@smb.mgkb1.local -w XXXXXX -b "dc=smb,dc=mgkb1,dc=local" -f "sAMAccountName=%s" 192.168.2.82 -p 389

auth_param basic children 20 auth_param basic realm Internet Access MGKB1 auth_param basic credentialsttl 1 minutes auth_param basic casesensitive off

external_acl_type ldap_users %LOGIN /usr/lib64/squid/squid_ldap_group -R -b "OU=UsersDom,DC=smb,DC=mgkb1,DC=local" -f "(&(sAMAccountName=%v)(memberOf=CN=%a,CN=Builtin,DC=smb,DC=mgkb1,DC=local))" -D sel_ldap@smb.mgkb1.local -w "XXXXXXX" 192.168.2.82 -v 3 -p 389

hierarchy_stoplist cgi-bin ?

coredump_dir /var/spool/squid

refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320

access_log /var/log/squid/access.log squid

cache_mem 1024 MB cache_effective_user squid cache_effective_group squid cache_dir ufs /var/spool/squid/ 1024 16 256 cache_swap_low 97 cache_swap_high 100

acl manager proto cache_object acl localhost src 127.0.0.1/32

acl inetusers external ldap_users ia acl insured_user external ldap_users insured acl small_allow url_regex -i "/etc/squid/Privilegy_list"

acl media urlpath_regex -i \.mp3$ \.asf$ \.wma$ #dns_nameservers 192.168.2.82 192.168.1.77 192.168.3.223

acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT

delay_pools 2 # ограничим mp3 до 30 Кб/с delay_class 1 1 delay_parameters 1 30000/30000 delay_access 1 allow media delay_access 1 deny all # ограничим ldap users до 150 Кб/с delay_class 2 1 delay_parameters 2 150000/150000 delay_access 2 allow inetusers insured_user delay_access 2 deny all

http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports

http_access allow inetusers http_access allow insured_user small_allow http_access allow localhost http_access deny all

http_reply_access allow all icp_access allow all

coredump_dir /var/spool/squid

log_fqdn on # Настроим ротацию логов logfile_rotate 1 # Отключить удаление параметров передаваемых в URL запросе strip_query_terms off logformat squid %ts %6tr %>A %Ss/%03>Hs %<st %rm %ru %un %Sh/%<A %mt

Конфиг почти по дефолту.

Хм... По большому счёту, наши с Вами конфиги отличаются лишь авторизацией пользователей и проверкой трафика на вирусы. Антивирусную проверку я уже пробовал отключать... Попробовать что ли и авторизацию отключить...

#278974
karl_muenhgausen написал:
[quote=technotrance]в браузере с куками всё нормально, всё включено. И если через NAT заходить (через этот же браузер), то в личный кабинет попасть можно. А через прокси ошибку вот даёт...

Ну так и формулируйте вопрос - проблема куки и прокси![/quote]
Нет, проблема именно в ресурсе hh.ru, поскольку на других сайтах никаких проблем с куками не возникает. Посмотрите мой самый первый пост -- там изначально вобще ещё хуже проблема была с этим сайтом (hh.ru)

#278976
technotrance написал:

Нет, проблема именно в ресурсе hh.ru, поскольку на других сайтах никаких проблем с куками не возникает. Посмотрите мой самый первый пост -- там изначально вобще ещё хуже проблема была с этим сайтом (hh.ru)

Он записывает куки иначе, чем прочие сайты? "Хотите поговорить об этом?"©

#278990

Откуда ж знать, иначе он их записывает или нет... А что?

#279004
technotrance написал:
Откуда ж знать, иначе он их записывает или нет... А что?

А то, что пока тема не имеет отношения ни к Linux, ни к User-Agent, ни к Squid, ни к HeadHunter.

У Вас тут куки пишутся и читаются, а вот тут или не пишутся, или не читаются.

Поэтому вопрос о куках, а не обо всём вышеперечисленном.

#279022

Если вопрос только о куках, то как объяснить, что сия проблема имеет место быть только на ресурсе hh.ru ? Если вопрос только о куках, то как объяснить, что через NAT (iptables) всё работает, а через squid не работает?

#279033
technotrance написал:
Если вопрос только о куках, то как объяснить, что сия проблема имеет место быть только на ресурсе hh.ru ? Если вопрос только о куках, то как объяснить, что через NAT (iptables) всё работает, а через squid не работает?

Но вопрос именно в куках и ни в чём ином. Вот и смотрите, чем данный ресурс отличается от других конкретно в этом вопросе.

Войдите или зарегистрируйтесь, чтобы ответить.