пятница, 17 июня 2011 г.

Squid 3 и ошибка NONE/417 при POST-запросе.

Сегодня столкнулся с такой интересной ошибкой на шлюзе под RHEL6 с squid3. Для отдела логистики купили супер-программу Benish Fleet Managment (система спутникового мониторинга, позволяющая контролировать местоположение автотранспорта и любых объектов интересующих клиентов - взято с их сайта). В программе есть возможность указать прокси-сервер, логин/пароль для авторизации. Прописал, запускаю, не работает. Выдает какую-то билиберду. В логах строчка "1308310455.273 0 dn-office111.office.com NONE/417 4679 POST http://91.1X.4X.X0:81/tavl/Tavlentry.asmx - NONE/- text/html"

Недолгое гугление указывает на необходимость добавить в /etc/squid/squid.conf
ignore_expect_100 on
которая позволяет НЕ отсылать ошибку 417 клиентам с кривой поддержкой HTTP/1.1.
По умолчанию данная опция выключена и squid игнорирует заголовки вида Expect: 1XX в запросе (согласно RFC 2616).
Вообщем кривой софт и техподдержка с заученной фразой "раз не конектится - значит проблемы у вас" были побеждены внесением в конфиг небольшого workaround. Насколько стабильно заработает - время покажет.

Литература:
http://www.squid-cache.org/Doc/config/ignore_expect_100/
http://www.ietf.org/rfc/rfc2616.txt

6 комментариев: