Установка 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 Системное администрирование