Настройка Apache Traffic Server в качестве обратного прокси в Ubuntu 14.04
Ubuntu | Комментировать запись
Apache Traffic Server – это кэширующий прокси-сервер с высокой масштабируемостью, способный обрабатывать большие объемы одновременных запросов, сохраняя при этом очень низкий уровень запаздывания. По сравнению с другими прокси-серверами (например, с Varnish или Squid) он, как правило, потребляет меньше памяти и быстрее отвечает. В зависимости от требований сервера его можно использовать как обратный или как прямой прокси-сервер.
Данное руководство поможет установить Apache Traffic Server на Ubuntu 14.04 и настроить его в качестве кэширующего обратного прокси-сервера.
Требования
- Предварительно настроенный сервер Ubuntu 14.04.
- Не-root пользователь с правами sudo.
- 1GB swap-пространства как минимум.
1: Установка Apache Traffic Server
Apache Traffic Server доступен в стандартных репозиториях Ubuntu 14.04, потому его можно установить при помощи пакетного менеджера apt-get, предварительно обновив список пакетов системы:
sudo apt-get update && sudo apt-get install trafficserver
По умолчанию Traffic Server слушает порт 8080. Можно попробовать получить к нему доступ в браузере, открыв http://your_server_ip:8080/. Но, поскольку сервер ещё не настроен, браузер вернёт ошибку.
2: Установка веб-сервера
По определению прокси-сервер выступает в качестве посредника между внешними пользователями и веб-сервером. Поэтому, прежде чем начать настройку Traffic Server, необходимо установить веб-сервер, например, Apache.
Чтобы установить и запустить Apache, используйте apt-get.
sudo apt-get install apache2
Теперь попробуйте открыть веб-сервер в браузере; на экране должна появиться приветственная страница Apache.
3: Отключение удалённого доступа к веб-серверу
По умолчанию Apache принимает соединения на всех сетевых интерфейсах. Чтобы защитить его от удаленных пользователей, нужно настроить его для приёма соединений только на кольцевом интерфейсе (или loopback).
Откройте ports.conf при помощи текстового редактора (например, nano).
sudo nano /etc/apache2/ports.conf
Найдите директиву Listen 80 и измените её значение:
Listen 127.0.0.1:80
Сохраните и закройте файл.
Затем откройте apache2.conf.
sudo nano /etc/apache2/apache2.conf
Добавьте следующую строку в конец файла:
ServerName localhost
Сохраните и закройте файл.
Чтобы обновить настройки, перезапустите веб-сервер Apache:
sudo service apache2 restart
Попробуйте открыть в браузере:
http://your_server_ip/
Если всё настроено верно, браузер должен вернуть ошибку, поскольку удалённый доступ к веб-серверу заблокирован.
4: Настройка Traffic Server
Теперь нужно настроить Traffic Server в качестве обратного прокси. Для этого откройте remap.config и отредактируйте его, определив правила отображения.
sudo nano /etc/trafficserver/remap.config
Создайте простое правило, отображающее все запросы, поступающие к IP-адресу сервера на порт 8080, на локальный адрес и порт веб-сервера. Для этого нужно добавить следующую строку в конец файла:
map http://your_server_ip:8080/ http://127.0.0.1:80/
Сохраните и закройте файл.
Чтобы включить новое правило, используйте команду:
sudo traffic_line --reread_config
Откройте браузер и посетите http://your_server_ip:8080/. Если на экране появилась приветственная страница Apache, значит, Traffic Server успешно настроен в качестве обратного прокси-сервера.
5: Настройка кэширования Traffic Server
По умолчанию Traffic Server кэширует ответы HTTP, только если в них содержится заголовок Cache-Control или Expires, явно указывающий, как долго элемент должен храниться в кэше. Однако поскольку веб-сервер обслуживает только статические файлы, можно кэшировать все ответы.
Чтобы настроить Traffic Server для кэширования ответов HTTP, нужно изменить значение переменной proxy.config.http.cache.required_headers на 0. Это делается при помощи команды:
sudo traffic_line –set_var proxy.config.http.cache.required_headers –value 0
Чтобы обновить настройки, используйте опцию reread_config:
sudo traffic_line --reread_config
Откройте браузер и посетите:
http://your_server_ip:8080/
Теперь появившаяся приветственная страница Apache будет храниться в кэше Traffic Server.
6: Проверка кэша
Для просмотра содержимого кэш-памяти Traffic Server можно использовать инструмент под названием Cache Inspector, оборудованный веб-интерфейсом.
Чтобы получить доступ к этому инструменту, измените значение переменной proxy.config.http_ui_enabled config на 1.
sudo traffic_line --set_var proxy.config.http_ui_enabled --value 1
Затем создайте правило отображения, указывающее путь, по которому вы хотите получать доступ к инструменту. Откройте remap.config.
sudo nano /etc/trafficserver/remap.config
Допустим, Cache Inspector будет доступен на /inspect. Для этого добавьте следующую строку в начало файла:
map http://your_server_ip:8080/inspect http://{cache}
Сохраните и закройте файл.
Перезапустите Traffic Server, чтобы обновить настройки.
sudo service trafficserver restart
Теперь инструмент Cache Inspector готов к работе. Откройте браузер и посетите:
http://your_server_ip:8080/inspect/
На экране появится список опций:
Cache
Lookup url
Delete url
Regex lookup
Regex delete
Regex invalidate
Кликните на Lookup url.
Теперь можно ввести URL в предоставленное поле и нажать Lookup, чтобы проверить, есть ли такой адрес в кэше.
К примеру, можно ввести:
http://your_server_ip:8080/
И убедиться, что домашняя страница веб-сервера обслуживается из кэша. Если это так, на экране появятся сведения об этом адресе.
Заключение
Теперь Apache Traffic Server установлен на Ubuntu 14.04 и используется в качестве обратного прокси. Вместо Apache можно использовать другой веб-сервер. Чтобы узнать о Traffic Server больше, обратитесь к руководству администратора.
Tags: Apache, Apache Traffic Server, Ubuntu 14.04