Настройка Apache Traffic Server в качестве обратного прокси в Ubuntu 14.04

Apache Traffic Server – это кэширующий прокси-сервер с высокой масштабируемостью, способный обрабатывать большие объемы одновременных запросов, сохраняя при этом очень низкий уровень запаздывания. По сравнению с другими прокси-серверами (например, с Varnish или Squid) он, как правило, потребляет меньше памяти и быстрее отвечает. В зависимости от требований сервера его можно использовать как обратный или как прямой прокси-сервер.

Данное руководство поможет установить Apache Traffic Server на Ubuntu 14.04 и настроить его в качестве кэширующего обратного прокси-сервера.

Требования

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: , ,

Добавить комментарий