Назад | Перейти на главную страницу

Прокси-сервер Squid: 400 неверный запрос, когда в URL-адресе указано «% 25» (процент входа)

У меня есть прокси-сервер Squid, который работает хорошо, за исключением этой проблемы:

Если URL-адрес имеет %25 внутри него (знак процента) мы получаем 400 Bad Request и Bad Request отображается в веб-браузере.

Пример URL: http://www.amazon.com/25%25-Percent-Off-Stickers-Adhesive/dp/B00J0IBJ0S/

Журнал:

12 / Янв / 2016: 18: 40: 28 -0600 429 MY.IP.IS.HERE TCP_MISS / 400 310 GET http://www.amazon.com/25%25-Percent-Off-Stickers-Adhesive/dp/B00J0IBJ0S/ - ROUNDROBIN_PARENT / три текста / html

Я не уверен, ошибка это или ошибка конфигурации. У меня есть круговая система, как показано выше. Вот результат squid3 -v:

Кэш Squid: Версия 3.1.19 параметры настройки: '--build = x86_64-linux-gnu' '--prefix = / usr' '--includedir = $ {prefix} / include' '--mandir = $ {prefix} / share / man '' --infodir = $ {prefix} / share / info '' --sysconfdir = / etc '--localstatedir = / var' '--libexecdir = $ {prefix} / lib / squid3' ' --srcdir =. ' '--disable-keeper-mode' --disable-dependency-tracking '--disable-silent-rules' '--datadir = / usr / share / squid3' '--sysconfdir = / etc / squid3' ' --mandir = / usr / share / man '' --with-cppunit-basedir = / usr '' --enable-inline '' --enable-async-io = 8 '' --enable-storeio = ufs, aufs, diskd '' --enable-remove-policies = lru, heap '' --enable-delay -pool '' --enable-cache-digests '' --enable-underscores '' --enable-icap-client '' --enable-follow-x-forwarded-for '' --enable-auth = basic, digest, ntlm ,gotiate '' --enable-basic-auth-helpers = LDAP, MSNT, NCSA, PAM, SASL, SMB, YP, DB, POP3, getpwnam, squid_radius_auth, multi-domain-NTLM '' --enable-ntlm-auth-helpers = smb_lm, '' --enable-digest-auth-helpers = ldap, пароль '' - enable -gotiate-auth-helpers = squid_kerb_auth '' --enable-external-acl-helpers = ip_user, ldap_group, session, unix_group, wbinfo_group '' --enable-arp-acl '' --enable-esi '' - enable-zph-qos '' --enable-wccpv2 '' --disable-translation '' --with-logdir = / var / log / squid3 '' --with-pidfile = / var / run / squid3.pid ' '--with-filedescriptors = 65 536 '' --with-large-files '' --with-default-user = proxy '' --enable-linux-netfilter '' build_alias = x86_64-linux-gnu '' CFLAGS = -g -O2 -fPIE - fstack-protector --param = ssp-buffer-size = 4 -Wformat -Wformat-security -Werror = format-security '' LDFLAGS = -Wl, -Bsymbolic-functions -fPIE -pie -Wl, -z, relro -Wl , -z, сейчас '' CPPFLAGS = -D_FORTIFY_SOURCE = 2 '' CXXFLAGS = -g -O2 -fPIE -fstack-protector --param = ssp-buffer-size = 4 -Wformat -Wformat-security -Werror = format-security '--with-squid = / build / squid3-FzlLQ3 / squid3-3.1.19

uname -a:

Linux MyHostName 3.13.0-44-generic # 73 ~ точный1-Ubuntu SMP среда 17 декабря 00:39:15 UTC 2014 x86_64 x86_64 x86_64 GNU / Linux

(Это сервер Ubuntu 12.04.5 LTS)

Взломать этот URL-адрес было бы просто для того, чтобы что-то убрать %25 но это не сработает все целевые сайты.

URL-адрес работает нормально, когда не проходит через прокси.

Спасибо за любые идеи, я готов предоставить дополнительную информацию о конфигурации.

Я использую squid около 15 лет. Фактически, я пишу это сообщение через него. Я проверил предоставленный вами URL, и он работает нормально. Я мало что могу сказать о вашей установке, но все же:

  • Ваша установка Squid похожа на тысячу лет. Обновите как минимум до 3.5.x как можно скорее.
  • из вашего журнала доступа я могу сказать, что вы используете цепочку прокси из-за ROUNDROBIN_PARENT/three положение дел. Это означает, что проблема может быть не в вашем сквиде, а скорее в родительском кеше. Вам следует продолжить расследование.