介绍
Apache Traffic Server是一个高度可扩展的缓存代理服务器,能够处理大量的同时请求,同时保持非常低的延迟。与其他流行的代理服务器(如Varnish或Squid)相比,它通常消耗较少的内存并更快地响应。它还旨在使现代的多核处理器得到最大限度的利用。根据您的要求,您可以使用它作为反向代理或向前代理。
本教程将涵盖如何在Ubuntu 14.04上安装Apache流量服务器,并将其配置为缓存反向代理。
前提条件
要遵循本教程,您将需要:
- 一个 Ubuntu 14.04 Droplet
- 一个 非 root sudo 用户
- 至少 1 GB 的 交换空间
步骤 1 – 安装流量服务器
由于Traffic Server在Ubuntu 14.04的默认存储库中可用,所以您可以使用apt-get
来安装它。
1sudo apt-get update && sudo apt-get install trafficserver
流量服务器默认情况下会听到端口 8080。 您可以使用浏览器现在访问 http://your_server_ip:8080/
但是,您会看到一个错误,因为您尚未配置它。
步骤二:安装 Web 服务器
通过定义,代理服务器作为外部用户和 Web 服务器之间的中间人,因此,在您开始配置 Traffic Server 之前,您应该在您的计算机上安装 Web 服务器,如 Apache HTTP Server。
安装并使用apt-get
启动Apache。
1sudo apt-get install apache2
现在你可以使用浏览器,访问http://your_server_ip/`以查看Apache的欢迎页面。
步骤 3 – 禁用对 Web 服务器的远程访问
Apache 默认情况下接受所有网络接口上的连接. 通过配置为仅在 loopback 接口上接受连接,您可以确保它无法访问远程用户。
使用nano
或您最喜欢的文本编辑器打开ports.conf
。
1sudo nano /etc/apache2/ports.conf
搜索包含Listen 80
指令的行,并将其更改为:
1[label ports.conf]
2Listen 127.0.0.1:80
保存和退出文件。
接下来,打开 apache2.conf。
1sudo nano /etc/apache2/apache2.conf
添加下列行到文件的末尾:
1[label apache2.conf]
2ServerName localhost
保存并关闭文件。
若要应用配置更改,请使用以下命令重新启动 Apache:
1sudo service apache2 restart
尝试使用浏览器再次访问 http://your_server_ip/
. 您的浏览器现在应该显示错误,因为您阻止了远程访问服务器。
步骤 4 – 将流量服务器配置为反向代理
在此步骤中,我们将配置流量服务器作为反向代理程序. 要做到这一点,请打开remap.config
,这是您应该编辑的文件,以定义流量服务器的映射规则。
1sudo nano /etc/trafficserver/remap.config
让我们创建一个简单的规则,该规则说,在端口 8080 上,所有向服务器的 IP 地址的请求都被映射到 Web 服务器的本地地址和端口。
1[label remap.config]
2map http://your_server_ip:8080/ http://127.0.0.1:80/
保存文件和退出。
若要激活新的地图规则,请使用‘reread_config’的‘traffic_line’命令:
1sudo traffic_line --reread_config
打开浏览器,访问http://your_server_ip:8080/`. 如果您现在可以看到Apache的欢迎页面,您已经成功配置了流量服务器作为反向代理。
步骤 5 – 配置流量服务器以缓存一切
默认情况下,流量服务器只会缓存 HTTP 响应,如果它包含一个缓存控制
或到期
标题,明确说明该项目应该存储在缓存中多长时间。
要将 Traffic Server 配置为缓存所有 HTTP 响应,您应该将名为 proxy.config.http.cache.required_headers 的配置变量值更改为 0。
1sudo traffic_line --set_var proxy.config.http.cache.required_headers --value 0
使用reread_config
的旗帜应用更改。
1sudo traffic_line --reread_config
打开浏览器并再次访问http://your_server_ip:8080/`,这将将Apache欢迎页面存储在流量服务器的缓存中。
步骤6:检查缓存
要查看 Traffic Server 缓存的内容,您可以使用名为 Cache Inspector 的工具,该工具具有基于 Web 的界面。
要激活该工具,请将proxy.config.http_ui_enabled
配置变量值设置为 1。
1sudo traffic_line --set_var proxy.config.http_ui_enabled --value 1
接下来,创建一个地图规则,指定您要使用的路径访问它. 使用nano
再次打开remap.config
。
1sudo nano /etc/trafficserver/remap.config
让我们在 /inspect
上提供缓存检查器. 要做到这一点,请在文件的 顶部添加下面的行:
1[label remap.config]
2map http://your_server_ip:8080/inspect http://{cache}
保存文件和退出。
若要应用更改,请重新启动流量服务器。
1sudo service trafficserver restart
现在,Cache Inspector 已准备好使用,打开浏览器,然后访问 http://your_server_ip:8080/inspect/
. 您将看到一个页面,看起来像这样:
接下来,点击 Lookup url链接。
您现在可以在文本字段中输入一个URL,然后点击 Lookup按钮来检查它是否存储在缓存中。
例如,您可以输入 http://your_server_ip:8080/
来检查您的 Web 服务器的主页是否正在从缓存中服务。
结论
你现在知道如何在Ubuntu 14.04上安装Apache Traffic Server,并将其配置为缓存反向代理程序,虽然我们在本教程中使用了Apache作为Web服务器,但你可以轻松使用任何其他Web服务器。