【发布时间】:2013-01-08 02:09:00
【问题描述】:
我正在寻找一个 nginx 配置设置,它将Access-Control-Allow-Origin 设置为Origin 中收到的值。
似乎* 方法不适用于 Chrome,并且多个 URL 不适用于 Firefox,因为 CORS 规范不允许这样做。
到目前为止,唯一的解决方案是将Access-Control-Allow-Origin 设置为在源中收到的值(是的,可以实施一些验证)。
问题是如何在 nginx 中做到这一点,最好不安装额外的扩展。
set $allow_origin "https://example.com"
# instead I want to get the value from Origin request header
add_header 'Access-Control-Allow-Origin' $allow_origin;
【问题讨论】:
-
Chrome 绝对应该与
Access-Control-Allow-Origin: *一起使用。您能否提供一个失败的请求/响应标头的示例?这也可能有所帮助:gist.github.com/4165271 -
是的,def 在带有 * 的 Chrome 中工作,我们已经使用了一段时间 - 这里是我的配置链接 distinctplace.com/2017/04/17/…