如何在Ubuntu 14.04上将Apache Traffic Server设置为反向代理

介绍

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

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

先决条件

要学习本教程,您需要:

  • 一个Ubuntu 14.04 腾讯CVM,没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器
  • 具有sudo权限的non-root用户
  • 至少1 GB的交换空间

第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之前,应在计算机上安装Apache HTTP Server等Web服务器。

使用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指令的行并将其更改为:

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,您应该编辑该文件来定义Traffic Server的映射规则。

sudo nano /etc/trafficserver/remap.config

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

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 - 配置流量服务器以缓存所有内容

默认情况下,仅当流量服务器包含明确指定项目应存储在缓存中的时间的Cache-ControlExpires标头时,它才会缓存HTTP响应。但是,由于我们的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上使用Cache Inspector 。请在文件顶部添加以下行:

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

保存文件并退出。

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

sudo service trafficserver restart

现在可以使用Cache Inspector。打开浏览器,然后访问http://your_server_ip:8080/inspect/

。你会看到一个如下所示的页面:

接下来,单击Lookup url链接。

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

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

结论

您现在知道如何在Ubuntu 14.04上安装Apache Traffic Server并将其配置为缓存反向代理。虽然我们在本教程中使用Apache作为Web服务器,但您可以轻松使用任何其他Web服务器。

更多Ubuntu教程请前往腾讯云+社区学习更多知识。


参考文献:《 How to Set Up Apache Traffic Server as a Reverse-Proxy on Ubuntu 14.04》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Django中文社区

注销和页面跳转

当用户想切换登录账号,或者想退出登录状态时,这时候就需要注销已登录的账号。现在我们来为网站添加注销登录的功能,这个功能 Django 也已经为我们提供,我们只需...

69790
来自专栏Web项目聚集地

Git简洁教程-本地项目推送到GitHub

Git是当今最流行的版本控制软件,它包含了许多高级工具,这里小编就讲一下Git的安装和使用,怎样推送到自己的远程仓库。

14020
来自专栏编码小白

ofbiz连接mysql并创建独立数据库

         Ofbiz:数据库移植mysql并创建自己的mysql          Ofbiz原生数据库是derby,而作为开发使用,其就不能满足我们需...

39750
来自专栏云计算教程系列

如何在Ubuntu 14.04上安装Munin监视工具

Munin是一个系统,网络和基础设施监控应用程序,通过Web浏览器以图形形式提供信息。它是围绕客户端 - 服务器架构设计的,可以配置为监控它所安装的机器(Mun...

14300
来自专栏IT杂记

Windows下jps, jconsole无法查看本地java进程问题解决

先通过本地java代码运行: System.out.println(System.getProperties()); 查看属性java.io.tmpdir=C:...

35560
来自专栏cnblogs

前端打包成桌面应用、以及chrome扩展

     前段时间在利用工作之余开发了tomato timer这个蕃茄钟,然后部署到github.io上,由于greatway太厉害,偶尔会有打不开的情况。上周...

273100
来自专栏云计算教程系列

如何在Debian 8上安装Munin监视工具

Munin是一个系统,网络和基础设施监控应用程序,通过Web浏览器以图形形式提供信息。它是围绕客户端 - 服务器架构设计的,可以配置为监控它所安装的机器(Mun...

8500
来自专栏互联网杂技

Nginx反向代理,负载均衡,redis session共享,keepalived高可用

使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换。 tomcat服务器两台,由nginx进行反向代理和负载均衡...

62580
来自专栏云计算教程系列

如何在Debian 8上用mod_proxy将Apache设置为反向代理

reverse proxy(反向代理)是一种代理服务器,它接收HTTP(S)请求并将它们透明地分发到一个或多个后端服务器。反向代理非常实用,因为许多现代Web应...

13330
来自专栏云计算教程系列

如何在CentOS 7上用mod_proxy将Apache设置为反向代理

反向代理是一种代理服务器,它接受HTTP(S)的请求后,把它们发送到一个或多个后端服务器。反向代理非常有用,因为许多现代网络应用使用后端应用程序服务器处理传入的...

38430

扫码关注云+社区

领取腾讯云代金券