1. ats 安装
参考:https://docs.trafficserver.apache.org/en/latest/getting-started/index.en.html#installation
可执行文件目录:/usr/bin/
配置文件目录:/etc/trafficserver/
日志文件目录:/var/log/trafficserver/
ats 的启动、重启、停止
1 [root@localhost ~]# ls /usr/bin/ | grep traffic 2 traffic_cop 3 traffic_crashlog 4 traffic_ctl 5 traffic_layout 6 traffic_line 7 traffic_logcat 8 traffic_logstats 9 traffic_manager 10 traffic_sac 11 trafficserver 12 traffic_server 13 traffic_via 14 [root@localhost ~]# trafficserver start # 启动 15 Starting Apache Traffic Server: [ 确定 ] 16 [root@localhost ~]# trafficserver restart # 重启 17 Stopping traffic_cop: [ 确定 ] 18 Stopping traffic_manager: [ 确定 ] 19 Stopping traffic_server: [ 确定 ] 20 Starting Apache Traffic Server: [ 确定 ] 21 [root@localhost ~]# netstat -tlnp | grep traffic 22 tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1516/traffic_manage 23 tcp 0 0 127.0.0.1:8083 0.0.0.0:* LISTEN 1516/traffic_manage 24 tcp 0 0 127.0.0.1:8084 0.0.0.0:* LISTEN 1524/traffic_server 25 [root@localhost ~]# trafficserver stop # 停止 26 Stopping traffic_cop: [ 确定 ] 27 Stopping traffic_manager: [ 确定 ] 28 Stopping traffic_server: [ 确定 ]
2. ats 的配置文件
records.config 是 key-value 格式的配置文件,负责大部分全局的选项设置,即主配置文件。
storage.config 用于指定磁盘存储。
remap.config 定义映射规则,用于请求的重写(rewrite),反向代理即在此配置。
logs_xml.config 日志配置文件。
3. ats 的反向代理配置
在代理服务器 192.168.233.134 作如下配置
vim /etc/trafficserver/records.config
1 ############################################################################## 2 # Enable / disable HTTP caching. Useful for testing, but also as an 3 # overridable (per remap) config 4 ############################################################################## 5 CONFIG proxy.config.http.cache.http INT 1 6 7 ############################################################################## 8 # Specify server addresses and ports to bind for HTTP and HTTPS. Docs: 9 # https://docs.trafficserver.apache.org/records.config#proxy-config-http-server-ports 10 ############################################################################## 11 CONFIG proxy.config.http.server_ports STRING 80 # 默认端口为 8080 12 13 ############################################################################## 14 # These settings control remapping, and if the proxy allows (open) forward proxy or not. Docs: 15 # https://docs.trafficserver.apache.org/records.config#url-remap-rules 16 # https://docs.trafficserver.apache.org/en/latest/reference/configuration/remap.config.en.html 17 ############################################################################## 18 CONFIG proxy.config.url_remap.remap_required INT 1 19 # https://docs.trafficserver.apache.org/records.config#proxy-config-url-remap-pristine-host-hdr 20 CONFIG proxy.config.url_remap.pristine_host_hdr INT 1 21 # https://docs.trafficserver.apache.org/records.config#reverse-proxy 22 CONFIG proxy.config.reverse_proxy.enabled INT 1
vim /etc/trafficserver/remap.config
1 regex_map http://(.*)/ http://192.168.233.130:8000/
vim /etc/trafficserver/storage.config
1 /var/cache/trafficserver 256M
在 192.168.233.130:8000 开启一个 python 程序,代码如下
1 import tornado.ioloop 2 import tornado.web 3 4 class MainHandler(tornado.web.RequestHandler): 5 def get(self): 6 self.write("<h1>Hello, world</h1>") 7 8 def make_app(): 9 return tornado.web.Application([ 10 (r"/", MainHandler), 11 ]) 12 13 if __name__ == "__main__": 14 app = make_app() 15 app.listen(8000) 16 tornado.ioloop.IOLoop.current().start()
在客户端 192.168.233.1 访问 192.168.233.134