Apache HTTP 服务器
此配置适用 Apache HTTP 服务器作为源站(自托管设置,不使用 AEM Dispatcher)前的反向代理的情况。 它会将代理式流量(来自 AI 机器人和 LLM 用户代理的请求)路由到 Edge Optimize 后端服务(live.edgeoptimize.net)。 人类访客和 SEO 机器人仍将照常从您的源站获得响应。 完成设置后,可在响应中查找头部 x-edgeoptimize-request-id 以测试配置是否成功。
此集成是一组 Apache 原生 Include 文件,没有需要部署的代码或 Worker。 您下载三个文件,设置 API 密钥,然后在您的虚拟主机中添加两行 Include。
先决条件
在配置 Apache 路由规则之前,请确保您已具备以下条件:
- Apache HTTP 服务器 2.4 或更高版本,并启用了以下模块:
proxy、proxy_http、ssl、rewrite、headers、env和setenvif。 - 可以访问您的 Apache 配置(站点的
<VirtualHost>),能够重新加载 Apache。 - 从Edge UI检索到Adobe Brand Visibility优化API密钥。 有关步骤,请参阅检索您的 API 密钥。
- (可选)要测试暂存路由,请参阅暂存 API 密钥。
配置
1. 下载配置文件
从 Optimize at Edge 代码示例存储库下载三个 Edge Optimize include 文件,然后将它们放在 Apache 服务器的一个目录中(例如,conf/oae/):
oae-routing.confoae-failover.confdomains.conf您无需修改 oae-routing.conf 或 oae-failover.conf,按原样使用它们。
2. 启用您的域,并设置 API 密钥 (domains.conf)
编辑 domains.conf,为您要启用的每个域添加一行。 将主机替换为您的域,并将YOUR_API_KEY替换为Adobe Brand Visibility UI中的键。 未列出的域会按原样路由至源站,因此您可以逐个启用域名。
SetEnvIfExpr "%{HTTP_HOST} =~ m#(?i)^(www\.)?example\.com(:\d+)?$#" OAE_DOMAIN_ENABLED=1 OAE_API_KEY=YOUR_API_KEY
3. 在您的虚拟主机中包含这些文件
在您现有的 <VirtualHost *:443> 中添加这两行 Include。 路由文件在您的重写和 ProxyPass 规则之前,故障转移文件位于其后。 在下面的示例中,标记为 #NEWLINE 的行是您为 Optimize at Edge 添加的唯一几行,其他所有行(ServerName、ProxyPass 及其他)都是您现有的未更改的配置。
Define OAE_CONF_DIR conf/oae #NEWLINE directory holding the OAE include files
<VirtualHost *:443>
ServerName www.example.com
Include "${OAE_CONF_DIR}/oae-routing.conf" #NEWLINE OAE routing — BEFORE your Rewrite & ProxyPass rules
# --- your existing rewrite rules and ProxyPass to origin ---
ProxyPass "/" "https://www.example.com/"
ProxyPassReverse "/" "https://www.example.com/"
Include "${OAE_CONF_DIR}/oae-failover.conf" #NEWLINE OAE failover — AFTER your ProxyPass rules
</VirtualHost>
4. 重新加载 Apache
验证配置并重新加载 Apache 以应用更改。
Vary: x-edgeoptimize-config)。 如果您的 Apache 已使用 mod_cache,请确保它具有 CacheQuickHandler Off,以便在设置 Edge Optimize 标头后执行缓存查找。允许 Optimize at Edge 通过防火墙规则(可选)
如果您的CDN使用WAF或机器人管理器:
-
在WAF或机器人管理器中允许列表
*AdobeEdgeOptimize/1.0*用户代理,以便Edge上的优化服务可以获取您的源内容。 -
如果您的防火墙需要用户代理以外的其他验证,请生成密钥(例如,
openssl rand -hex 32)并:- 将带有密码的
x-edgeoptimize-fetcher-key添加到您的路由规则中其他x-edgeoptimize-*标头旁边。 - 添加WAF或机器人管理器规则,以允许请求
x-edgeoptimize-fetcher-key与同一密码匹配。
- 将带有密码的
-
在Edge中优化会按原样转发此标头 — 您拥有完整的密钥生命周期。
验证设置
完成设置后,验证机器人流量是否被路由到 Edge Optimize,以及人类流量是否不受影响。
1. 测试机器人流量(应被优化)
用代理式用户代理模拟 AI 机器人请求:
curl -svo /dev/null https://www.example.com/page.html \
--header "user-agent: chatgpt-user"
成功的响应包括 x-edgeoptimize-request-id 头部,用于确认请求是通过 Edge Optimize 路由的:
< HTTP/2 200
< x-edgeoptimize-request-id: 50fce12d-0519-4fc6-af78-d928785c1b85
2. 测试人类流量(不应受影响)
模拟一个常规的人类浏览器请求:
curl -svo /dev/null https://www.example.com/page.html \
--header "user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36"
响应 不 应包含 x-edgeoptimize-request-id 头部。 页面内容和响应时间应保持与启用 Optimize at Edge 之前时完全相同。
3. 如何区分这两种场景
x-edgeoptimize-request-idx-edgeoptimize-fo1)也可以在Adobe Brand Visibility UI中查看流量路由的状态。 导航到 客户配置 并选择 CDN配置 选项卡。
要进一步了解Edge优化,包括可用的机会、自动优化工作流和常见问题,请返回Edge优化概述。