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

Linux, простой http-прокси

У меня есть Linux-сервер, работающий в центре обработки данных, у которого есть дополнительная пропускная способность и ресурсы.

Я хотел бы настроить прокси-службу, чтобы я мог направлять через нее весь свой трафик http / https из дома. Я знаю, как настроить браузер для работы с прокси, но я просто не знаю, как настроить его на стороне сервера. Я также хотел бы иметь аутентификацию, чтобы ее мог использовать только я

Мой любимый способ сделать это - использовать туннелирование ssh / SOCKS и SOCKS.

Если на вашем сервере colo'd запущен sshd, это все, что вам нужно.

Использовать

ssh -D 9000 yourhost.foo.com

А затем настройте свой браузер, чтобы использовать прокси-сервер SOCKS на 127.0.0.1 порту 9000.

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

Вот страница ОК с более подробной информацией. Сведения о прокси-сервере SSH

Немного поздно к обсуждению ...

Я считаю, что tinyproxy проще в настройке и легче, чем squid, особенно для сервера, который предназначен только для вашего собственного использования.

Ключ в том, работает ли на вашем сервере центра обработки данных sshd.

Если это так, то ответы здесь, в которых используется ssh для перенаправления портов, автоматически решают проблему авторизации. Установите tinyproxy для привязки к 127.0.0.1, и только пользователи, у которых есть доступ ssh, могут подключаться к нему.

Если это не так, вы можете настроить tinyproxy для приема соединений только с определенных хостов или IP-адресов. Если у вас дома статический IP-адрес, проблема решена.

Если у вас динамический адрес, вы можете согласиться принимать соединения от части вашего домашнего соединения. Например. ваш интернет-провайдер устанавливает ваше домашнее соединение таким образом, чтобы оно выглядело как 192-192-192-192-area1-san-fran-cal-usa, вы можете настроить tinyproxy для приема соединений только от area1-san-fran-cal-usa (тем самым игнорируя IP часть связи). Риск состоит в том, что другие подписчики area1 обнаружат ваш прокси и начнут им пользоваться.

Это то, что я использую для своего прокси-сервера VPS, и он отлично работает, тем более, что я нахожусь в относительно небольшой зоне обслуживания моего интернет-провайдера. У меня никогда не было другого пользователя, использующего прокси, но я знаю, что это риск (я готов пойти на это - я всегда могу изменить tinyproxy, если обнаружу, что кто-то другой его использует).

Может быть, но просто может быть хорошим выбором в такой ситуации, чтобы использовать какое-то общее решение. Поэтому я рекомендую squid как можно чаще, когда кому-то нужен прокси-сервис. Причин много: документация есть повсюду, это общее решение для базовых и гораздо более конкретных запросов, и, что наиболее важно, мой опыт показал, что клиенты с простыми запросами в мгновение ока превращались в клиентов с очень сложными запросами в отношении службы прокси.

Самый простой способ просто направить весь ваш HTTP / HTTPS-трафик через ваш Linux-сервер на работе - это использовать динамический ssh-туннель. Для этого не требуется никакой настройки на вашем сервере в центре обработки данных - при условии, что на нем уже есть ssh-сервер, на котором не отключено SSH-туннелирование.

Динамическое SSH-туннелирование - это функция, присутствующая во многих SSH-клиентах, в том числе openssh и PuTTY, где SSH-клиенты устанавливают «поддельный SOCKS-прокси» на машине, на которой работает клиент, которая затем переводит эти SOCKS-запросы в SSH-туннелирование, выходя из него. в большой Интернет с вашего сервера.

Если вы используете openssh в качестве клиента, вы должны использовать ssh -D 3128 yourserver.example.com, а затем настройте свой веб-браузер на использование localhost: 3128 в качестве прокси-сервера SOCKS.

PuTTY также сделает это, посмотрите в разделе Connection -> SSH -> Tunnels и добавьте динамический перенаправленный порт (введите порт источника, но оставьте поле Destination пустым), а затем настройте свой браузер так, чтобы он указывал на localhost: 3128 как SOCKS прокси, как и с OpenSSH.

Самый простой способ сделать это - через туннель SSH:

ssh -D 8080 yourserver.com

Теперь вы можете указать в браузере прокси (SOCKS) localhost:8080.
SSH будет связывать 8080 только с 127.0.0.1 (и :: 1), поэтому никто другой не сможет его использовать.

Если вы работаете с окнами, вы также можете использовать Putty для создания этого туннеля.

Или, если вы хотите настроить простой HTTP-прокси на своем сервере, попробуйте https://banu.com/tinyproxy/ Его очень просто настроить, легко использовать и есть хороший набор функций ...