Author Topic: Пустой ответ нулевой длины  (Read 3082 times)

LehaAres

  • Zen Apprentice
  • *
  • Posts: 30
  • Karma: +0/-0
    • View Profile
Пустой ответ нулевой длины
« on: December 07, 2015, 01:25:06 pm »
Добрый день.
Замучил меня Зентьял наш совсем, выручайте.

Наша сотрудница работает на сайте webtorgi, там что-то связанное с закупками и электронным документооборотом для правительства и т.д. и т.п. я в этом не очень много понимаю, но ей надо там работать просто без вариантов.

И вот однажды у неё этот сайт начал постоянно при определенных действиях вываливать ошибку "получен пустой ответ нулевой длины" с логотипом нашего шлюза. Естественно все претензии ко мне, какого лешего работа встала.
А на шлюзе настроена прокси для блокировки всякой клубнички, соц. сетей и прочего мусора для всех пользователей. Тогда эта проблема решилась простым переводом сотрудницы в группу без ограничений и вроде всё утихло. Но нет, работало спокойно пару месяцев и на прошлой неделе опять вылезает "пустой ответ нулевой длины", а сотрудница и так уже без ограничений работает, дальше некуда и что теперь делать, я не представляю. Убрал шлюз с Зентьялом, поставил вместо него обычный роутер Keenetic Giga, с ним всё пашет без проблем, но этот роутер не умеет в блокировку нежелательных сайтов по расписанию (т.е. только в рабочее время), поэтому необходимо быстренько чинить и возвращать старый шлюз, а то опять ко мне претензии от начальства, почему соцсети не заблочены в рабочее время, и претензии от сотрудников, почему в обед соцсети не работают.

« Last Edit: December 07, 2015, 01:29:47 pm by LehaAres »

luha

  • Zen Samurai
  • ****
  • Posts: 479
  • Karma: +36/-1
    • View Profile
Re: Пустой ответ нулевой длины
« Reply #1 on: December 07, 2015, 03:58:52 pm »
Можно было просто попробовать в панели временно выключить прокси и не менять целый роутер на другой (чтобы проверить).

С того что помню для прокси сервера надо кэш настраивать и при слишком маленьком (или наоборот большом) могут быть разные глюки. Можно попробовать с этим поиграться, для начала вычистить.

Второе что припомнилось в настройках прокси есть список исключений, куда вписываются страницы которые не надо кэшировать. Попробуйте туда загнать сайт webtorgi.samregion.ru (хотя мне в своё время это не помогло, но и ошибка была совсем другая).

Удачи!

LehaAres

  • Zen Apprentice
  • *
  • Posts: 30
  • Karma: +0/-0
    • View Profile
Re: Пустой ответ нулевой длины
« Reply #2 on: December 08, 2015, 04:36:06 pm »
Quote
Можно было просто попробовать в панели временно выключить прокси и не менять целый роутер на другой (чтобы проверить).

Ну просто для меня это было простейшим выходом, потому что роутер уже давно был куплен, и стоял готовый и настроеный как резервная замена шлюзу на всякий случай, поскольку шлюз этот падает уже не в первый и даже не во второй раз и всех задолбал. Сначала стоял и работал pfSense - рухнул, поставили Зентьял, поработал - тоже рухнул, (если что, и тот и другой ставили разные люди  ;) ), после я уже сам его восстановил, но вот он опять косячить начал. Прихожу к мысли, что хорошо и бесплатно всё-таки не сочетаемые качества, но это отдельная тема.

Quote
С того что помню для прокси сервера надо кэш настраивать и при слишком маленьком (или наоборот большом) могут быть разные глюки. Можно попробовать с этим поиграться, для начала вычистить.
Я его уж чистил, когда последний раз шлюз переглючило (там по другому поводу я тему уже создавал, проблему решили), и размер со стандартных 100МБ увеличил вдвое. Эффекта не было.

Quote
Второе что припомнилось в настройках прокси есть список исключений, куда вписываются страницы которые не надо кэшировать. Попробуйте туда загнать сайт webtorgi.samregion.ru (хотя мне в своё время это не помогло, но и ошибка была совсем другая).
Тоже делал. И тоже не помогло (

luha

  • Zen Samurai
  • ****
  • Posts: 479
  • Karma: +36/-1
    • View Profile
Re: Пустой ответ нулевой длины
« Reply #3 on: December 09, 2015, 10:15:10 am »
У вас один внешний IP адрес? Если несколько то можно конкретный внутренний IP перенаправить (все протоколы по всем портам) на конкретный внешний и, если надо, в обратную сторону тоже самое.

Мне думается што в определённый момент удалённый сервер или действительно по какой-то причине не даёт никакого ответа (маловероятно, особенно учитывая что без роутера работает) или ответ уходит, но не туда куда надо.

Из практики прокси в зенчале реализован ужасно. К сожалению я в своё время поигрался с ним и бросил, поэтому мало опыта, но если есть желание и время можно попробовать повылавливать все баги, авось заработает. Начни с лога кернела и пр., надо понять куда делся ответ удалённой машины.

Sand_man

  • Zen Samurai
  • ****
  • Posts: 280
  • Karma: +24/-0
    • View Profile
Re: Пустой ответ нулевой длины
« Reply #4 on: December 10, 2015, 07:01:37 am »
Ух, ребята, бывало такое, и тогда даже было понятно, почему. Но не помню, чесслово. Не в mtu ли проблема была?

LehaAres

  • Zen Apprentice
  • *
  • Posts: 30
  • Karma: +0/-0
    • View Profile
Re: Пустой ответ нулевой длины
« Reply #5 on: December 11, 2015, 05:59:00 pm »
Ух, ребята, бывало такое, и тогда даже было понятно, почему. Но не помню, чесслово. Не в mtu ли проблема была?

И что (как) делать с этим mtu?

Quote
У вас один внешний IP адрес?
Хз. По договору пул из 4 адресов (говорил же, уберите их нафиг, так нет же, оставили, типа халява), но как оно технически у них реализовано, не знаю. Вроде с провайдером сошлись на том, что лишние адреса просто висят где-то и не используются. Но опять же, роутер же работает в тех же условиях нормально.

Sand_man

  • Zen Samurai
  • ****
  • Posts: 280
  • Karma: +24/-0
    • View Profile
Re: Пустой ответ нулевой длины
« Reply #6 on: December 14, 2015, 09:44:58 am »
На всякий случай ifconfig покажи.

luha

  • Zen Samurai
  • ****
  • Posts: 479
  • Karma: +36/-1
    • View Profile
Re: Пустой ответ нулевой длины
« Reply #7 on: December 14, 2015, 09:59:08 am »
Несколько IP это очень хорошо. Добавь их к своему внешнему интерфейсу, чтобы можно было пользоваться.

Network > Interfaces (выбираешь внешний, вписываешь по очереди остальные IP и добавляешь их по одному к списку)

Дальше нужно будет на сервере DHCP привязать к компьютеру нужного клиенда статичный IP, чтобы он никуда не делся в процессе жизненных передряг.

После (опять на зенчале) переходишь в:
Firewall > Port Forwarding
... и перенаправляешь всё с одного из свободных внешних IP на внутринний IP того самого клиента.

Пример:
Interface
<eth0 (including eth0:6, eth0:1, eth0:4, eth0:0, eth0:3, eth0:2, eth0:5)>
.
Original destination
<ВНЕШНИЙ IP>
.
Protocol
<All>
.
Original destination port
<Any>
.
Source
<Any>
.
Destination IP
<ВНУТРЕННЙИ IP>
Port
<Same>
.
Replace source address
<По идее значения не должно иметь, но можно поиграцца этим параметром>
.
Log
<Если хочешь читать в kernel.log что там куда поехало то включить>
.
Description
<Описать на будущее своё творчество, чтобы было меньше путаницы>


Потом переходим в:
Firewall > SNAT
... где настраиваем обратный процесс, чтобы с клиента пакеты шли через нужный внешний IP:

Пример:
SNAT address
<УКАЗАТЬ НУЖНЫЙ ВНЕШНИЙ IP>
.
Outgoing interface
<СООТВЕТСТВЕННО ВНЕШНИЙ ИНТЕРФЕЙС>
.
Source
<ВНУТРЕННИЙ IP КЛИЕНТА>
.
Destination
<Any>
.
Service
<Any>
... Log, Description - по желанию


Удачи!

UPD: Забыл важную вещь! При составлении таблиц перенаправления имеет значение порядок следования! Сначала выполняются правила которые находятся сверху и только потом то, что ниже, при этом если условие выполняется и правило сработало, то следующее за ним уже не будет задействовано!!!
« Last Edit: December 14, 2015, 10:46:48 am by luha »