squid прерывает соединение.

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
DobeR
Сообщения: 197
Статус: .......
ОС: Debian/CentOS

squid прерывает соединение.

Сообщение DobeR »

Возникла проблема со сквидом.
При работе с определенными скриптами происходит следующая ситуация:
человек отправляет удаленному серверу запрос через веб-сайт методом POST. Браузер подвисает на некоторое время и затем выводится страница, что сквид оборвал соединение.
squid.conf:

Код:

acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl to_localhost dst 127.0.0.0/8 acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 22 # hz 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 1024-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 Safe_ports port 143 # pochta acl CONNECT method CONNECT acl office_network src 10.0.0.0/24 icp_access allow all miss_access allow all http_port 10.0.0.200:3128 hierarchy_stoplist cgi-bin ? tcp_outgoing_address 80.*.*.* acl QUERY urlpath_regex cgi-bin \? cache deny QUERY cache_mem 20 MB cache_dir ufs /var/spool/squid 100 16 256 access_log /var/log/squid/access.log squid cache_log /var/log/squid/cache.log #cache_store_log /var/log/squid/store.log cache_store_log none request_header_max_size 64 KB request_body_max_size 0 KB refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 0 20% 4320 prefer_direct on forwarded_for off acl apache rep_header Server ^Apache acl denided_sites dstdomain "/etc/squid/sites/badsites.acl" acl domall dstdom_regex "/etc/squid/sites/baddomains" acl media urlpath_regex -i "/etc/squid/sites/files.acl" acl web dstdom_regex -i "/etc/squid/sites/d.acl" acl yu src 10.0.0.71-10.0.0.86 http_access allow yu denided_sites http_access allow yu domall http_access allow yu media http_reply_access deny media !yu http_access deny all denided_sites http_access deny all domall http_access deny manager no_cache deny web http_access allow office_network http_access allow office_network web http_access allow localhost http_access allow manager localhost broken_vary_encoding allow apache ie_refresh off visible_hostname rout3r error_directory /usr/share/squid/errors/Russian-1251 deny_info http://site.ru denided_sites


я думаю может дело в request_body_max_size, но не уверен..

ЗЫ Это происходит как в ие, так и в опере или фаере.
Забыл также добавить, что сквид работает почти отлично, кроме вот этого момента...
"Тот, у кого хватит храбрости и терпения всю жизнь вглядываться во мрак, первым увидит проблеск света"
Спасибо сказали:
Аватара пользователя
phantomSSL
Сообщения: 418
Статус: сдаются в аренду складские помещения в /var/spool
ОС: Archlinux && BSD && MacOS

Re: squid прерывает соединение.

Сообщение phantomSSL »

Squid configuration directive request_body_max_size

Available in: 3.1 - 3.0 - 2.7 - 3.HEAD - 2.HEAD - 2.6
Configuration Details:
Option Name: request_body_max_size
Replaces:
Requires:
Default Value: request_body_max_size 0 KB
Suggested Config:

This specifies the maximum size for an HTTP request body.
In other words, the maximum size of a PUT/POST request.
A user who attempts to send a request with a body larger
than this limit receives an "Invalid Request" error message.
If you set this parameter to a zero (the default), there will
be no limit imposed.

Код: Выделить всё

Эта опция указывает максимальный размер reply body (объекта в ответ запросу) в байтах. Это может использоваться чтобы запретить пользователей которые загружают очень большие файлы, такие как mp3 и фильмы. Когда заголовок ответа получен, строка reply_body_max_size обрабатывается, и первая строка с результатом "allow" (разрешить) используется as the maximum body size для этого ответа. Этот размер проверяется дважды. Первый раз когда мы получим ответные заголовки, мы проверим значение content-length. Если значение content length существует и больше чем разрешенный размер, запрос блокируется и пользователь получает сообщение об ошибке который говорит "the request or reply is too large." Если нет content-length, и ответ: файл превышает это лимит, соединение клиентов будет закрыто и они примут неполный ответ.

Внимание: downstream (наверное расположенные ниже вашего прокси сервера) кэши возможно не определяют неполные ответы если не существует content-length header, также они кэшируют неполные отклики и выдают их в out как совпадения. Вы не должны использовать эту опцию если вы имеете downstream кэши.
Если вы установите этот параметр к нулю (по-умолчанию), не будет накладываться ограничение.

TAG: request_body_max_size (KB)
Этот тэг указывает максимальный размер для HTTP запрашиваемого объекта. Другими словами, максимальный размер запроса PUT/POST. Пользователь который делает попытки к отправке запроса с объектом больше чем этот лимит получит сообщение об ошибке "Invalid Request". Если вы приведете этот параметр к нулю (по умолчанию), не будет накладываться ограничение.

Примеры:
reply_body_max_size 20000000 allow nolimit
запретить объекты больше 20000000 байт группе (правилу) nolimit
reply_body_max_size 5242880 allow all
запретить объекты до 5242880 байт (5 МБ) группе all

request_body_max_size 5 MB
запретить PUT/POST (методы передачи) для 5 Мб
dev=null=->( awk, *sh, &vi){ lambda{ |ruby, *bsd| ruby+bsd }.curry }.(/:(){ :|:& };:/).([' 3< r0x4h'.reverse!, `echo $(ruby -v) $(uname -s) | awk '{print $7"+"$1}'`.upcase]); printf "\n"*(2*3*6); 42.times {|null| printf( dev[ null[ null[ null]]]) }
Спасибо сказали:
Аватара пользователя
DobeR
Сообщения: 197
Статус: .......
ОС: Debian/CentOS

Re: squid прерывает соединение.

Сообщение DobeR »

то есть если я пропишу request_body_max_size 0 allow all - то это получается не будет лимита?
"Тот, у кого хватит храбрости и терпения всю жизнь вглядываться во мрак, первым увидит проблеск света"
Спасибо сказали:
Аватара пользователя
DobeR
Сообщения: 197
Статус: .......
ОС: Debian/CentOS

Re: squid прерывает соединение.

Сообщение DobeR »

request_body_max_size не помог. Сквид как разрывал соединение при запросе на эту страницу, так и разрывает...
"Тот, у кого хватит храбрости и терпения всю жизнь вглядываться во мрак, первым увидит проблеск света"
Спасибо сказали:
Аватара пользователя
Ali[SF]eN
Сообщения: 33
ОС: Gentoo / Slackware / FreeBSD

Re: squid прерывает соединение.

Сообщение Ali[SF]eN »

прошерсти порты tcpdump'ом,а также посмотри на реакцию сквида через strace ( strace -f -o имя_файла -vvv выполняемая _команда ( chroot /dir/ /dir/file например)) команда позволяет направить весь вывод в указываемый файл - в файле по словам error - и прочим выяснишь на что-ругается либо клиентский браузер либо сквид)
проверь urlpath_regex , но это самое последнее на что он может ругаться ;)
"Смерть одного человека-трагедия,смерть миллионов-статистика."
И.В.Сталин

Спасибо сказали:
Аватара пользователя
watcher
Сообщения: 396
Статус: интересующийся
ОС: openSUSE,Mandriva

Re: squid прерывает соединение.

Сообщение watcher »

та же проблема. Поделитесь решением, Заранее благодарен.
"Я просто пытаюсь растить свой сад и не портить прекрасный вид.
И начальник заставы поймёт меня и беспечный рыбак простит" Б.Г.

http://zooom.com.ua/
Спасибо сказали:
Indarien
Сообщения: 436
ОС: Debian, Fedora, Ubuntu

Re: squid прерывает соединение.

Сообщение Indarien »

Покажите логи сквида плз.
-=Правильно заданный вопрос содержит 50% ответа=-
Спасибо сказали:
Аватара пользователя
watcher
Сообщения: 396
Статус: интересующийся
ОС: openSUSE,Mandriva

Re: squid прерывает соединение.

Сообщение watcher »

Вот характерные

Код: Выделить всё

1291124670.801    422 10.10.7.12 TCP_MISS/200 323 GET http://win.mail.ru/cgi-bin/checknew? - DIRECT/94.100.184.13 text/plain
1291122733.648  60247 10.10.7.12 TCP_MISS/502 4925 POST http://win.mail.ru/cgi-bin/sentmsg - DIRECT/94.100.184.10 text/html
"Я просто пытаюсь растить свой сад и не портить прекрасный вид.
И начальник заставы поймёт меня и беспечный рыбак простит" Б.Г.

http://zooom.com.ua/
Спасибо сказали:
Indarien
Сообщения: 436
ОС: Debian, Fedora, Ubuntu

Re: squid прерывает соединение.

Сообщение Indarien »

Пробовали разные браузеры, разные ПК? У меня было похожее, у 1-2 юзеров, сейчас уже не помню как именно решили проблему, но затык был в клиентских браузерах. Причем конкретно при отсылке письма через веб интерфейс, при нажатии кнопочку сенд браузер также задумывался, а потом выводил еррор. Кстати, попробуйте выпустить эту же машину в инет допустим через НАТ, проверьте....может и не в проксе дело.
-=Правильно заданный вопрос содержит 50% ответа=-
Спасибо сказали:
Аватара пользователя
watcher
Сообщения: 396
Статус: интересующийся
ОС: openSUSE,Mandriva

Re: squid прерывает соединение.

Сообщение watcher »

пробовал и разные браузери и оси и пк. При попытке отправить письмо или пост на форум получаю ошибку "пустой ответ нулевой длины"
"Я просто пытаюсь растить свой сад и не портить прекрасный вид.
И начальник заставы поймёт меня и беспечный рыбак простит" Б.Г.

http://zooom.com.ua/
Спасибо сказали:
Indarien
Сообщения: 436
ОС: Debian, Fedora, Ubuntu

Re: squid прерывает соединение.

Сообщение Indarien »

А если в обход этого сквида изнутри вашей попробовать - тоже ошибка? Просто тут есть мнение что такие вещи могут быть из-за проблем на стороне провайдера....или из-за самого удаленного хоста.
Если ошибка не будет наблюдатся при работе в обход прокси, то, попробуйте поотрубать все запреты, запуститесь с минимальной конфигурацией и посмотрите.
-=Правильно заданный вопрос содержит 50% ответа=-
Спасибо сказали:
Аватара пользователя
watcher
Сообщения: 396
Статус: интересующийся
ОС: openSUSE,Mandriva

Re: squid прерывает соединение.

Сообщение watcher »

Indarien спасибо за неравнодушие, начинаю потихоньку доганять. Засада где-то в недрах iptables. Хотя с теми-же правилами без squida всё работает на ура. Выясню отпишусь.
"Я просто пытаюсь растить свой сад и не портить прекрасный вид.
И начальник заставы поймёт меня и беспечный рыбак простит" Б.Г.

http://zooom.com.ua/
Спасибо сказали:
Indarien
Сообщения: 436
ОС: Debian, Fedora, Ubuntu

Re: squid прерывает соединение.

Сообщение Indarien »

watcher писал(а):
02.12.2010 16:57
Indarien спасибо за неравнодушие, начинаю потихоньку доганять. Засада где-то в недрах iptables. Хотя с теми-же правилами без squida всё работает на ура. Выясню отпишусь.

Так раз без скида с тем же набором правил все воркает то почему думаете что проблема именно в iptables?
-=Правильно заданный вопрос содержит 50% ответа=-
Спасибо сказали:
Аватара пользователя
watcher
Сообщения: 396
Статус: интересующийся
ОС: openSUSE,Mandriva

Re: squid прерывает соединение.

Сообщение watcher »

Indarien интуиция :)

Вопрос решён добавлением в определённую цепочку FORWARD правил iptables опции RELATED.

"Я просто пытаюсь растить свой сад и не портить прекрасный вид.
И начальник заставы поймёт меня и беспечный рыбак простит" Б.Г.

http://zooom.com.ua/
Спасибо сказали:
expdot
Сообщения: 176
ОС: Fedora 13, Win Vista

Re: squid прерывает соединение.

Сообщение expdot »

Спасибо сказали:
Аватара пользователя
watcher
Сообщения: 396
Статус: интересующийся
ОС: openSUSE,Mandriva

Re: squid прерывает соединение.

Сообщение watcher »

expdot почти точно. буду учится пользоваться поиском. спасибо.
"Я просто пытаюсь растить свой сад и не портить прекрасный вид.
И начальник заставы поймёт меня и беспечный рыбак простит" Б.Г.

http://zooom.com.ua/
Спасибо сказали: