问题标签 [apache-traffic-server]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
proxy - 通过 SSL 配置 apache 流量服务器
我正在尝试在 Ubuntu 14.04 上使用 Apache 流量服务器配置 SSL 反向代理
我在端口 8443 (https) 上有一个 tomcat 服务器(spring boot),在端口 443 上有一个 Apache 流量服务器
我遵循了管理页面中提到的所有 SSL 配置步骤:
https://docs.trafficserver.apache.org/en/5.3.x/admin/security-options.en.html
并在 remap.config 中添加了以下映射
我在 ssl_multicert.config 中添加了以下行
还更新了 records.config 中的以下配置
但我总是在浏览器上得到以下响应:
此站点无法提供安全连接
localhost 发送了无效响应。
但是,如果 Tomcat 服务器在端口 8090 (http) 上并且添加了以下映射,则反向代理可以工作
那么如何配置流量服务器以支持 SSL ?
haproxy - 在 haproxy 和 trafficserver 之间启用压缩
我在世界各地都有 haproxy 服务器后面的代理(trafficserver)。我可以压缩 haproxy 和 trafficserver 之间的流量以节省带宽吗?
谢谢约西
apache-traffic-server - ATS 如何处理大文件?
我正在阅读配置缓存对象大小限制部分。我想知道 ATS 如何有效地处理大文件(例如电影文件)。请给我一些启示。
提前致谢。
c++ - 为什么 copy_to_user 会花费数百毫秒?
我有一些运行 apache trafficserver 的 linux 服务器,发现大约 1/20 的请求需要几毫秒,这比预期的要长得多(应该是 1-2 毫秒)。
通过 systemtap 跟踪后,我发现时间都花在了 linux 内核的 copy_to_user() 调用上。(接受->inet_csk_accept->move_addr_to_user->copy_to_user)
服务器负载很低(<100qps),copy_to_user() 只复制 16 个字节的数据(struct sockaddr),但花费了数百毫秒。
由于我对 systemtap 和内核跟踪技术不熟悉,我无法进一步调查原因。我检查了 cpu 使用情况,交换使用情况
感谢您的任何建议。
硬件:
- cpu: Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz
- 内存:64G
- 磁盘:11*6T硬盘
软件:
- centos6 2.6.32-696.el6.x86_64 #1 SMP 2017 年 3 月 21 日星期二 19:29:05 UTC x86_64 x86_64 x86_64 GNU/Linux
- apache trafficserver 5.3.2 配置10G内存
nginx 1.10.2,代理用户请求到trafficserver
/li>
更新:
@employee of the month 感谢您的建议,在对 __do_page_fault 添加一些探测后,我发现时间都花在了 __do_page_fault -> down_read(&mm->mmap_sem);
@Ricardo Biehl Pasquali 感谢您的建议。Apache trafficserver 在单独的线程中读取/写入硬盘。trafficserver 有 1 个线程来接受连接,88 个(每个 hdd 8 个线程)线程来阻塞读/写(缓存内容),但我不明白为什么在其他线程中阻塞读/写会导致 __do_page_fault() 的高延迟.
更新:</p>
问题解决了!根本原因是trafficserver 定期调用system() 来备份我们编写的一个古老插件中的文件。
spoofing - 使用 Apache Traffic Server 进行 IP 欺骗
我们可以通过 Apache Traffic Server 实现 IP-Spoofing 吗?records.config 和任何其他 conf 文件中的参数名称将非常有帮助。
linux - 在 ATS 上记录 X-forward-for
是否可以进行配置设置以使 Apache 流量服务器将 XFF 标头记录到日志中?我已经查看了 ATS 文档,但没有提及这一点。我看到解释了各种日志记录格式。
apache-traffic-server - Apache 交通服务器集群 7.1.1
这是我对集群的 records.config 配置:
8080 tcp 和 8088,8086,8089 udp 端口在防火墙中是开放的,但是当我询问集群时,答案是:
# bin/traffic_ctl metric get proxy.process.cluster.nodes
proxy.process.cluster.nodes 1
我做错了什么?有人可以帮助我吗?我完全被卡住了!
提前致谢!
docker - Kubernetes 和 docker-compose 之间的一致 DNS
就我而言,这更像是一个开发问题而不是服务器问题,但它非常位于两者的边界上,所以如果这是共识,请随意迁移到 serverfault.com)。
我有一个服务,我们称之为它web
,它在一个docker-compose.yml
文件中声明如下:
在这之前,我有一个运行 Apache Traffic Server 的反向代理服务器。url重映射配置文件中有一个简单的映射规则
因此,所有传入请求都映射到上述web
服务。这很有效docker-compose
,但是当我使用以下服务描述将服务移动到 kubernetes 时:
...流量服务器抱怨,因为它无法解析 DNS 名称web
。
我可以通过以下配置更改稍微更改流量服务器的 DNS 行为来解决此问题:
(见https://docs.trafficserver.apache.org/en/7.1.x/admin-guide/files/records.config.en.html#dns)
此配置更改描述如下:
Traffic Server 可以尝试通过扩展到本地域来解析不合格的主机名。例如,如果客户端向不合格的主机(例如 host_x)发出请求,并且 Traffic Server 的本地域是 y.com,那么 Traffic Server 会将主机名扩展为 host_x.y.com。
现在一切都在 Kubernetes 中运行良好。
但是,在运行时docker-compose
,traffic-server 抱怨无法解析web
。
所以,我可以让事情在两个平台上都能正常工作,但这需要更改配置才能做到这一点。我可以为流量服务器启动一个启动脚本,以确定我们是在 kube 还是 docker 中运行,并根据我们运行的位置编写上面的配置行,但理想情况下,我希望 DNS 跨平台保持一致. 我对 DNS(尤其是 DNS 默认域/本地域)的理解不完整。
任何指针?理想情况下,docker-compose 的本地域似乎是这里的方式。
caching - 当请求中存在授权标头时,它总是一个缓存未命中
当入站请求中存在授权标头时,它始终是缓存未命中。我的要求是,我需要 ATSAuthorization
像对待任何其他标头一样对待标头(它不应该导致缓存未命中,它应该被转发到上游服务)。我怎样才能做到这一点。
这听起来可能不安全,但是,我有一个特定的用例。此缓存供内部使用,它的访问由其他方式控制。
我试过这个
根据官方文档
默认情况下,Traffic Server 不缓存具有以下请求头的对象:
授权
缓存控制:无存储
缓存控制:无缓存
配置 Traffic Server 忽略这个请求头,
在 records.config 中编辑 proxy.config.http.cache.ignore_client_no_cache。
CONFIG proxy.config.http.cache.ignore_client_no_cache INT 1 运行命令 traffic_ctl config reload 以应用配置更改。
但是,没有运气
networking - 在客户端和 ISP 之间定位 Apache 流量服务器
AST可以直接放在客户端和ISP之间,用作透明代理服务器吗?
我不打算缓存任何东西或隐藏我自己的网络服务器。我只需要在 HTML 级别过滤一些内容。