Я создал конфигурацию squid с директивой:
deny_info ERR_PROXY_INFO all
И протестировал это, установив порт squids на 8080, а затем установив прокси-сервер моего браузера на 192.168.1.3:8080
Это отображает настраиваемую страницу ошибки. Но когда я пытаюсь сделать его прозрачным с помощью:
iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80 -j REDIRECT --to-port 8080
Это не работает, и я получаю эту ошибку просмотра:
ОШИБКА
запрашиваемый адрес недоступен
Ошибка недопустимого запроса при попытке обработать запрос:
GET / HTTP / 1.1 Хост: www.google.co.nz Подключение: keep-alive Принять: application / xml, application / xhtml + xml, text / html; q = 0.9, text / plain; q = 0.8, image / png ,/; q = 0.5 User-Agent: Mozilla / 5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit / 534.3 (KHTML, например, Gecko) Chrome / 6.0.472.63 Safari / 534.3 Accept-Encoding: gzip, deflate, sdch Accept-Language: en-US, en; q = 0,8 Accept-Charset: ISO-8859-1, utf-8; q = 0,7, *; q = 0,3 Cookie: XXX
Вот некоторые возможные проблемы:
Метод запроса отсутствует или неизвестен.
Отсутствует URL.
Отсутствует идентификатор HTTP (HTTP / 1.0).
Запрос слишком велик.
Content-Length отсутствует для запросов POST или PUT.
Недопустимый символ в имени хоста; подчеркивания не допускаются.
Ваш администратор кеша - веб-мастер.
Создано вт, 28 сентября 2010 г., 02:02:05 по Гринвичу с помощью networkServer (squid / 2.7.STABLE7)
Обнаружил проблему, я неправильно настроил прозрачный прокси:
http_port 8080
---> http_port 8080 transparent
Как я хорошенькая