要为Nginx配置多个域名的跨域访问,关键在于设置适当的响应头。首先,确认请求的来源,使用$http_origin来允许指定的域。当请求成功时,HTTP状态码为200,但若请求失败(例如400),需使用always确保'Access-Control-Allow-Origin'配置始终生效,对于Nginx版本1.7.5以上版本,这通常是不必要的。其次,跨域认证和请求方法可以通过响应头控制。对于请求头,确保允许使用的自定义请求头也在配置范围内。对于多个域名,有以下两种方法:方法一:直接使用$http_origin变量,这个变量会获取请求中的origin头,通常浏览器会在跨域请求中添加这个头。将期望的跨域域名值赋给 'Access-Control-Allow-Origin'。方法二:利用map指令,这是ngx_http_map_module模块提供的功能。通过map指令创建一个变量映射表,将源变量(如请求头中的域名)与期望的跨域设置关联起来。这样,无论请求头中的域值如何,都可以对应到正确的跨域策略。在配置跨域时,别忘了清空浏览器缓存以确保新设置生效。通过这些配置,Nginx能够灵活处理多个域名的跨域请求。