配置 CORS

编辑

如果 APM Server 部署在与页面来源不同的来源中,则需要配置跨域资源共享 (CORS)。

可以将允许的来源列表提供给 apm-server.rum.allow_origins 配置选项。默认情况下,APM Server 允许所有来源。

CORS 的工作原理

编辑

当 RUM 代理发出其初始 POST 请求时,浏览器将检查它是否是跨域请求。如果是,浏览器会自动向服务器发出预检 OPTIONS 请求,以确保允许原始的 POST 请求。如果此 OPTIONS 检查通过,则允许原始的 POST 请求。如果未在 APM Server 中配置 RUM 支持,则此请求将失败。

如果使用代理,则预检请求头可能对您的配置是必要的

Access-Control-Request-Headers: Content-Type
Access-Control-Request-Method: POST
Origin: [request-origin]

响应应包含这些标头

Access-Control-Allow-Headers: Content-Type
Access-Control-Allow-Methods: POST, OPTIONS
Access-Control-Allow-Origin: [request-origin]

如果启用 sendCredentials 配置选项,则代理的响应必须包含标头 Access-Control-Allow-Origin,其值为页面的来源,以及以下标头

Access-Control-Allow-Credentials: true

要了解有关 CORS 的更多信息,请参阅 MDN 上的跨域资源共享页面。