参考这篇文章:《Cors跨域(三):Access-Control-Allow-Origin多域名?》
先说错误的方式:
- Access-Control-Allow-Origin不支持逗号分隔、不支持分号分割
- Access-Control-Allow-Origin不支持多次重复的头设置,只能支持一个
- Access-Control-Allow-Origin不支持通配符,例如*.abc.com是不行的
再说正确的:
- Access-Control-Allow-Origin可以使用*,但是有安全风险
- 可以预设一个跨域白名单(例如Set<String>),根据request中的origin动态检查是否在跨域白名单中,若命中,将单一的域名添加到header中
- 可以在2的基础上,拓展支持通配符,这里不再详述了