Caching server-generated content (publishing/news sites) - Progressive Web App Training
Оглавление:
- Установка Squid на Ubuntu
- Конфигурирование Squid
- Аутентификация Squid
- Настройка брандмауэра
- Настройка вашего браузера для использования прокси
- Fire Fox
- Гугл Хром
- Вывод
Squid - полнофункциональный кеширующий прокси, поддерживающий популярные сетевые протоколы, такие как HTTP, HTTPS, FTP и другие. Squid в основном используется для повышения производительности веб-сервера путем кэширования повторяющихся запросов, фильтрации веб-трафика и доступа к контенту с географическим ограничением.
Из этого туториала Вы узнаете, как настроить прокси-сервер Squid в Ubuntu 18.04 и настроить браузеры Firefox и Google Chrome для его использования.
Установка Squid на Ubuntu
Пакет Squid включен в стандартные репозитории Ubuntu 18.04. Для его установки введите следующие команды от имени пользователя sudo:
sudo apt update
sudo apt install squid
После завершения установки служба Squid запустится автоматически.
Чтобы убедиться, что установка прошла успешно и служба Squid запущена, введите следующую команду, которая выведет статус службы:
sudo systemctl status squid
● squid.service - LSB: Squid HTTP Proxy version 3.x Loaded: loaded (/etc/init.d/squid; generated) Active: active (running) since Thu 2019-06-27 11:45:17 UTC…
Конфигурирование Squid
Squid можно настроить, отредактировав файл
/etc/squid/squid.conf
. Вы также можете использовать отдельные файлы с параметрами конфигурации, которые могут быть включены с помощью директивы include.
Файл конфигурации содержит комментарии, которые описывают, что делает каждый параметр конфигурации.
Перед внесением каких-либо изменений рекомендуется создать резервную копию исходного файла конфигурации:
sudo cp /etc/squid/squid.conf{,.orginal}
Чтобы отредактировать файл, откройте его в текстовом редакторе:
sudo nano /etc/squid/squid.conf
По умолчанию Squid настроен на прослушивание порта
3128
на всех сетевых интерфейсах на сервере.
# Squid normally listens to port 3128 http_port IP_ADDR:PORT
Запуск Squid на всех интерфейсах и на порте по умолчанию должен подойти большинству пользователей.
В Squid вы можете контролировать доступ клиентов к веб-ресурсам, используя списки контроля доступа (ACL).
По умолчанию Squid разрешает доступ только с локального хоста.
Если все клиенты, которые будут использовать прокси-сервер, имеют статический IP-адрес, вы можете создать ACL, который будет включать разрешенные IP-адреса.
Вместо добавления IP-адресов в основной файл конфигурации мы создадим новый выделенный файл, который будет содержать IP-адреса:
/etc/squid/allowed_ips.txt
192.168.33.1 # All other allowed IPs
После этого откройте основной файл конфигурации и создайте новый ACL с именем
allowed_ips
(первая выделенная строка) и разрешите доступ к этому ACL с помощью директивы
http_access
(вторая выделенная строка):
#… acl allowed_ips src "/etc/squid/allowed_ips.txt" #… #http_access allow localnet http_access allow localhost http_access allow allowed_ips # And finally deny all other access to this proxy http_access deny all
Порядок правил
http_access
важен. Убедитесь, что вы добавили строку, прежде чем
http_access deny all
.
Директива
http_access
работает аналогично правилам брандмауэра. Squid читает правила сверху вниз, и когда правило соответствует приведенным ниже правилам, они не обрабатываются.
Всякий раз, когда вы вносите изменения в файл конфигурации, вам нужно перезапустить службу Squid, чтобы изменения вступили в силу:
Аутентификация Squid
Squid может использовать разные бэк-энды, в том числе базовую аутентификацию Samba, LDAP и HTTP для аутентифицированных пользователей.
В этом уроке мы настроим Squid на использование базовой аутентификации. Это простой метод аутентификации, встроенный в протокол
Мы будем использовать
openssl
для генерации паролей и добавления пары
username:password
в файл
/etc/squid/htpasswd
с помощью команды
tee
как показано ниже:
printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd
Давайте создадим пользователя с именем «josh» с паролем «
Sz$Zdg69
»:
printf "josh:$(openssl passwd -crypt 'Sz$Zdg69')\n" | sudo tee -a /etc/squid/htpasswd
josh:RrvgO7NxY86VM
Теперь, когда пользователь создан, следующим шагом является включение базовой аутентификации HTTP и включение файла
htpasswd
.
Откройте основную конфигурацию и добавьте следующее:
#… auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/htpasswd auth_param basic realm proxy acl authenticated proxy_auth REQUIRED #… #http_access allow localnet http_access allow localhost http_access allow authenticated # And finally deny all other access to this proxy http_access deny all
Первые три выделенные строки создают новый ACL с именем
authenticated
а последняя выделенная строка разрешает доступ аутентифицированным пользователям.
Перезапустите сервис Squid:
Настройка брандмауэра
Предполагая, что вы используете
UFW
для управления брандмауэром, вам нужно открыть порт Squid. Для этого включите профиль 'Squid', который включает в себя правила для портов Squid по умолчанию.
sudo ufw allow 'Squid'
Чтобы проверить тип статуса:
sudo ufw status
Вывод будет выглядеть примерно так:
Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere Squid ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6) Squid (v6) ALLOW Anywhere (v6)
Если Squid работает на другом порту, отличном от порта по умолчанию, например,
8888
вы можете разрешить трафик через этот порт с помощью:
sudo ufw allow 8888/tcp
.
Настройка вашего браузера для использования прокси
Теперь, когда у вас настроен Squid, последний шаг - настроить предпочитаемый браузер для его использования.
Fire Fox
Шаги ниже одинаковы для Windows, macOS и Linux.
-
В верхнем правом углу нажмите значок гамбургера
☰
чтобы открыть меню Firefox:Нажмите на
⚙ Preferences
.Прокрутите вниз до раздела «
Network Settings
» и нажмите кнопку «Settings…
.Откроется новое окно.
- Установите переключатель «
Manual proxy configuration
сервера». Введите IP-адрес своего сервера Squid в поле «HTTP Host
и3128
в поле «Port
Установите флажок «Use this proxy server for all protocols
кнопкуOK
, чтобы сохранить настройки.
- Установите переключатель «
На этом этапе ваш Firefox настроен, и вы можете просматривать Интернет через прокси-сервер Squid. Чтобы проверить это, откройте
google.com
, введите «what is my ip» и вы увидите IP-адрес своего сервера Squid.
Чтобы вернуться к настройкам по умолчанию, перейдите в «
Network Settings
, установите переключатель «
Use system proxy settings
и сохраните настройки.
Есть несколько плагинов, которые также могут помочь вам настроить параметры прокси Firefox, такие как FoxyProxy.
Гугл Хром
Google Chrome использует настройки прокси-сервера системы по умолчанию. Вместо изменения параметров прокси операционной системы вы можете использовать дополнение, такое как SwitchyOmega, или запустить браузер Chrome из командной строки.
Чтобы запустить Chrome с использованием нового профиля и подключиться к серверу Squid, используйте следующую команду:
Linux:
/usr/bin/google-chrome \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"
macOS:
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"
Windows:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^ --user-data-dir="%USERPROFILE%\proxy-profile" ^ --proxy-server="http://SQUID_IP:3128"
Профиль будет создан автоматически, если он не существует. Таким образом, вы можете запускать несколько экземпляров Chrome одновременно.
Чтобы убедиться, что прокси-сервер работает нормально, откройте
google.com
и введите «what is my ip». IP-адрес, указанный в вашем браузере, должен быть IP-адресом вашего сервера.
Вывод
Вы узнали, как установить Squid на Ubuntu 18.04 и настроить свой браузер для его использования.
Squid является одним из самых популярных прокси кеширующих серверов. Это повышает скорость работы веб-сервера и может помочь вам ограничить доступ пользователей к Интернету.
прокси убунтуКак настроить прокси для приложений Windows Store в Windows 8/10
Узнайте, как включить или настроить прокси-сервер для магазина или Metro в Windows 10/8 с помощью команды Netsh, настроек прокси или параметров групповой политики.
Как установить и настроить прокси squid на centos 7
Squid - полнофункциональный кеширующий прокси, поддерживающий популярные сетевые протоколы, такие как HTTP, HTTPS, FTP и другие. Из этого туториала Вы узнаете, как настроить Squid на CentOS 7.
Как установить и настроить прокси Squid на Debian 10 Linux
Squid - полнофункциональный кеширующий прокси, поддерживающий популярные сетевые протоколы, такие как HTTP, HTTPS, FTP и другие. В этом уроке мы объясним, как настроить прокси Squid на Debian Buster.