Модифицируйте локальные хосты при подключении через squid

0

Когда я изменяю локальный файл hosts так, чтобы:

1.1.1.1 example.com

и подключиться к example.com с помощью моего браузера, все работает нормально (запрашивает «example.com» Host: на сервере 1.1.1.1)

но когда я пытаюсь подключиться через прокси, он игнорирует его и пытается разрешить example.com через прокси (когда я помещаю эту строку в / etc / hosts на сервере, она работает нормально).

Я пытался использовать аддон HTTP Header Modifier в Chrome, но он работает так же.

Как изменить запрашиваемый хост на локальной машине при подключении через прокси? (Я в порядке с редактированием squid.conf, я просто не хочу SSH к серверу каждый раз, когда у меня новый домен).

Matt
источник

Ответы:

0

Вы просите невозможного. На машине, на которой работает прокси-сервер, выполняется поиск по имени → адресу (чтобы найти сервер содержимого HTTP), когда вы используете прокси-сервер HTTP (как вы хотите). Таким образом, на машине, на которой работает прокси-сервер, вы должны добавить переопределения поиска, такие как ваш example.com1.1.1.1. Если вы хотите, чтобы это был ваш собственный компьютер, вам придется запустить прокси-сервер HTTP на своем компьютере.

Конечно, вы можете настроить какой-нибудь механизм Рубе Голдберга, в котором машина с вашим прокси-сервером использует прокси-сервер DNS на компьютере где-то еще, а машина с прокси-сервером DNS имеет переопределения поиска. Но все, что вам будет дано, это (а) дополнительная внешняя зависимость для вашего прокси-сервера HTTP, (б) другой компьютер, на котором вам все еще нужно SSH и редактировать файлы данных, когда вы хотите добавить другое переопределение поиска, и (c) возможные серьезные неблагоприятные воздействия на другие службы на этом сервере, такие как почта, новости, FTP, аутентификация пользователя в локальной сети и т. д., поскольку переопределения поиска DNS применяются не только к HTTP.

(Я не буду касаться даже более загадочных механизмов, таких как отправка почты в squid@server.example.comпочтовый ящик на сервере, ~alias/.qmail-squidфайл которого вызывает специальную программу, которая анализирует почту на наличие команд редактирования, которые затем применяются exк squid.confet al .. Потому что я затем придется покрывать значительные последствия для безопасности, позволяя всему Интернету по своему усмотрению редактировать конфигурацию вашего сервера по почте. Было бы крайне глупо настраивать такую ​​систему исключительно потому, что никто не хотел тратить сравнительно небольшие усилия на использование ssh.)

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

JdeBP
источник
Я не думаю, что это невозможно. В основном то, что я пытаюсь сделать: с локального компьютера скажите squid подключиться к 53.25.23.266 и сделать заголовок «Host:» «example.com». Машине с кальмаром ничего не нужно разрешать. Пользователь локального компьютера осведомлен о ситуации и может сотрудничать; Я просто не хочу, чтобы он / она модифицировал / etc / hosts на сервере.
Мэтт
Бред какой то. Машина с squid должна разрешить example.comэтот IP-адрес. Чтобы это сделать, нужно выполнить администрирование сервера на машине squid. Это не происходит волшебством само по себе.
JdeBP