配置 CORS
编辑配置 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 上的跨域资源共享页面。