配置 CORS编辑

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

可以在 apm-server.rum.allow_origins 配置选项中提供允许来源的列表。默认情况下,APM 服务器允许所有来源。

CORS 的工作原理编辑

当 RUM 代理发出初始 POST 请求时,浏览器将检查它是否是跨来源请求。如果是,浏览器会自动向服务器发出预检 OPTIONS 请求,以确保允许原始 POST 请求。如果此 OPTIONS 检查通过,则允许原始 POST 请求。如果未在 APM 服务器中配置 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 页面上的 跨来源资源共享