bedrockstreaming / newrelic-guzzle-http-host
一种解决在 NewRelic 中正确报告 Guzzle 请求的 Host Http 头的方法。
v1.0.0
2021-03-16 14:41 UTC
This package is auto-updated.
Last update: 2024-08-27 19:22:17 UTC
README
一种解决在 NewRelic 中正确报告 Guzzle 请求的 Host Http 头的方法。
在某些情况下,您可能使用一个公共代理为多个不同的主机进行多个外部调用,使用标准的 Host
头来路由您的请求。不幸的是,由于所有这些调用都使用了相同的 URI,NewRelic 将它们报告为对同一目标的同一外部调用。
这个小的脚本提供了一种绕过方法,根据 HTTP Host
头报告正确的端点。
⚠️ 这个库是一个依赖当前 newrelic 扩展实现的 绕过方法!在使用新扩展版本之前,请仔细测试。下面有更多解释。
ℹ️ 已向 NewRelic 团队提交了官方功能请求。
安装
composer require bedrockstreaming/newrelic-guzzle-http-host
就这些!由于 Composer 自动加载器,脚本会自动导入。
ℹ️ 您也可以将 newrelic_hook.php
的内容直接复制到您的项目中。
解释
newrelic 扩展 定义了一个 Php 函数和一个 Guzzle 中间件,用于在从 Php 发送的每个请求上报告一些指标。
幸运的是,扩展仅在该函数不存在时定义它……然后这个绕过方法在 newrelic 之前定义这个函数 😅。原始代码被复制到这个函数中,但我们创建了一个专门用于 NewRelic 报告的新 HTTP 请求,解决了 Http HOST
头。Guzzle 使用的原始请求保持不变。