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

Как сделать так, чтобы прокси-сервер Squid не портил jar-файлы?

Наш внутренний корпоративный NTLM-прокси (я думаю, также Squid) по какой-то причине случайным образом возвращает 407 ошибок, и бессмысленно даже пытаться кого-то исправить.

У меня на компьютере с Windows установлен прокси Cntlm на порт 3128, чтобы иметь возможность использовать программное обеспечение, не поддерживающее NTLM. Однако я все еще случайно получаю 407 ошибок от корпоративного прокси.

Чтобы обойти это, я установил прокси-сервер Squid Cache (версия 2.7.STABLE8) на пересылку localhost на Cntlm, думая, что я могу повторить попытку при ошибке.

Я использую следующую конфигурацию:

cache_dir ufs c:/ws/tmp/squidcache 500 16 256
http_port 3127
cache_peer 127.0.0.1 parent 3128 0 no-query default
acl all src 127.0.0.1
never_direct allow all
http_access allow all
retry_on_error on
maximum_single_addr_tries 10
maximum_object_size 100 MB

В основном это работает, но проблема в том, что jar-файлы оказываются слегка поврежденными. Я не выяснил, как именно они повреждены, но обычно они на пару байтов длиннее, чем должны быть, и даже байты в начале файлов повреждены. И каждый раз все по-другому.

я нашел http://javatechniques.com/blog/squid-corrupts-jar-files/ что предполагает, что это может быть проблема с конфигурацией типа mime и Squid обрабатывает jar-файлы как ASCII, но не говорит вам, как исправить это в Squid.

Я пробовал добавить

\.jar$      application/octet-stream        anthony-compressed.gif  -   image   +download
# the default
.       application/octet-stream    anthony-unknown.gif -   image   +download

кальмарам mime.confи очистка кеша, но это не помогло. Я действительно не ожидал, что это поможет, поскольку я думаю, что они используются только для проксирования FTP.

Вы пробовали использовать Squid 3.1? Мы используем 3.x уже некоторое время и еще не заметили повреждения jarfile.