Установка Squid Proxy на Debian 10
воскресенье, 18 апреля 2021 05:34:13, написал Admin
Небольшая заметка, как за 10 минут настроить и проверить прокси-сервер Squid на Debian 10
Ставим сам пакет:
apt update apt upgrade -y apt install squid3 systemctl start squid systemctl enable squid
Ставим apache2-utils для входа по паролю:
apt install apache2-utils touch /etc/squid/passwd chown proxy: /etc/squid/passwd ls -l /etc/squid/passwd
Добавляем нового юзера и пароль к нему:
htpasswd /etc/squid/passwd proxy_user
Открываем конфиг/etc/squid/squid.conf на правку, вносим туда такие изменения:
http_access allow localhost acl mainIP src YOUR_IP_CLIENT http_access allow mainIP auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd auth_param basic children 5 auth_param basic realm Squid Basic Authentication auth_param basic credentialsttl 2 hours acl auth_users proxy_auth REQUIRED http_access allow auth_users http_access deny all
Здесь YOUR_IP_CLIENT - ваш клиентский айпи адрес. Например, у меня возникла необходимость заходить с основного сервера через прокси, т.е. сюда я вписал айпи оснвного сервера. Так же можно заходить с любого айпи по логину и паролю.
Настройка Guzzle
$client = new \GuzzleHttp\Client([ 'base_uri' => $url, 'curl' => [ CURLOPT_PROXY => $ip, CURLOPT_PROXYPORT => 3128, //CURLOPT_PROXYUSERPWD => 'user:pwd', ] ]); $response = $client->request('GET', '/ip.php'); $result = (string)$response->getBody(); echo $result;
На другом сервере разместите файл ip.php с таким содержанием:
if (!empty($_SERVER['HTTP_CLIENT_IP'])) { $ip = $_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip = $_SERVER['REMOTE_ADDR']; } echo $ip;
Также можно заходить с любого айпи через браузер, вписав в настройки прокси айпи адрес прокси-сервера и порт 3128. При первом входе надо будет ввести логин/пароль
Из важных настроек: auth_param basic children отвечает за число одновременных коннектов. В данном случае 5 клиентов могут работать одновременно, а остальные будут ждать, пока освободиться очередь.
Debian Squid Системное администрирование