如何在Ubuntu14.04上将ApacheTrafficServer设置为反向代理

来自菜鸟教程
跳转至:导航、​搜索

介绍

Apache Traffic Server 是一个高度可扩展的缓存代理服务器,能够处理大量并发请求,同时保持非常低的延迟。 与其他流行的代理服务器(例如 Varnish 或 Squid)相比,它通常消耗更少的内存并且响应更快。 它还旨在充分利用现代多核处理器。 根据您的要求,您可以将其用作反向代理或正向代理。

本教程将介绍如何在 Ubuntu 14.04 上安装 Apache Traffic Server 并将其配置为缓存反向代理。

先决条件

要遵循本教程,您将需要:

第 1 步 — 安装 Traffic Server

由于 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 步 — 安装 Web 服务器

根据定义,代理服务器充当外部用户和 Web 服务器之间的中介。 因此,在您开始配置 Traffic Server 之前,您应该在您的机器上安装一个 Web 服务器,例如 Apache HTTP Server。

使用 apt-get 安装并启动 Apache。

sudo apt-get install apache2

您现在可以使用浏览器并访问 http://your_server_ip/ 以查看 Apache 的欢迎页面。

第 3 步 — 禁用对 Web 服务器的远程访问

默认情况下,Apache 接受所有网络接口上的连接。 通过将其配置为仅接受环回接口上的连接,您可以确保远程用户无法访问它。

使用 nano 或您喜欢的文本编辑器打开 ports.conf

sudo nano /etc/apache2/ports.conf

搜索包含 Listen 80 指令的行并将其更改为:

端口.conf

Listen   127.0.0.1:80

保存并退出文件。

接下来,打开 apache2.conf

sudo nano /etc/apache2/apache2.conf

在文件末尾添加以下行:

apache2.conf

ServerName localhost

保存并关闭文件。

要应用配置更改,请使用以下命令重新启动 Apache:

sudo service apache2 restart

尝试使用浏览器再次访问http://your_server_ip/。 您的浏览器现在应该显示错误,因为您阻止了对服务器的远程访问。

第 4 步 — 将 Traffic Server 配置为反向代理

在这一步中,我们将把 Traffic Server 配置为反向代理。 为此,请打开 remap.config,您应该编辑该文件以定义 Traffic Server 的映射规则。

sudo nano /etc/trafficserver/remap.config

让我们创建一个简单的规则,说明所有对服务器 IP 地址 8080 端口的请求都映射到 Web 服务器的本地地址和端口。 您可以通过将以下行添加到文件末尾来执行此操作:

重新映射.config

map http://your_server_ip:8080/ http://127.0.0.1:80/

保存文件并退出。

要激活新的映射规则,请使用 traffic_linereread_config 命令:

sudo traffic_line --reread_config

打开浏览器并访问 http://your_server_ip:8080/。 如果您现在能够看到 Apache 的欢迎页面,则您已成功将 Traffic Server 配置为反向代理。

第 5 步 — 配置 Traffic Server 缓存所有内容

默认情况下,Traffic Server 仅在 HTTP 响应包含 Cache-ControlExpires 标头明确指定项目应在缓存中存储多长时间时才会缓存它。 但是,由于我们的 Web 服务器仅提供静态文件,因此缓存其所有响应是安全的。

要将 Traffic Server 配置为缓存所有 HTTP 响应,您应该将名为 proxy.config.http.cache.required_headers 的配置变量的值更改为 0。 这可以使用 traffic_lineset_var 命令来完成。

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 的工具,该工具具有基于 Web 的界面。

要激活该工具,请将 proxy.config.http_ui_enabled 配置变量的值设置为 1

sudo traffic_line --set_var proxy.config.http_ui_enabled --value 1

接下来,创建一个映射规则,指定您要用来访问它的路径。 使用 nano 再次打开 remap.config

sudo nano /etc/trafficserver/remap.config

让我们在 /inspect 上提供缓存检查器。 为此,请在文件的 top 处添加以下行:

重新映射.config

map http://your_server_ip:8080/inspect http://{cache}

保存文件并退出。

要应用更改,请重新启动 Traffic Server。

sudo service trafficserver restart

缓存检查器现在可以使用了。 打开浏览器,访问http://your_server_ip:8080/inspect/。 您将看到如下所示的页面:

接下来,单击 查找 url 链接。

您现在可以在文本字段中输入 URL,然后单击 Lookup 按钮以检查它是否存储在缓存中。

例如,您可以输入 http://your_server_ip:8080/ 来检查您的 Web 服务器的主页是否正在从缓存中提供。 如果是,您将看到如下所示的页面:

结论

您现在知道如何在 Ubuntu 14.04 上安装 Apache Traffic Server 并将其配置为缓存反向代理。 尽管我们在本教程中使用 Apache 作为 Web 服务器,但您也可以轻松地使用任何其他 Web 服务器。 要了解有关 Traffic Server 的更多信息,您可以查看其 管理员指南