Наш внутренний корпоративный 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.