有没有办法使用标头允许多个跨域Access-Control-Allow-Origin?
Access-Control-Allow-Origin
我知道*,但它太开放了。我真的想只允许几个域。
*
例如,像这样:
Access-Control-Allow-Origin: http://domain1.example, http://domain2.example
我已经尝试了上面的代码,但它似乎在 Firefox 中不起作用。
是否可以指定多个域,还是我只使用一个域?
听起来推荐的方法是让您的服务器从客户端读取 Origin 标头,将其与您希望允许的域列表进行比较,如果匹配,则将Origin标头的值回显给客户端响应中的Access-Control-Allow- Origin标头。
Origin
Access-Control-Allow- Origin
你.htaccess可以这样做:
.htaccess
# ---------------------------------------------------------------------- # Allow loading of external fonts # ---------------------------------------------------------------------- <FilesMatch "\.(ttf|otf|eot|woff|woff2)$"> <IfModule mod_headers.c> SetEnvIf Origin "http(s)?://(www\.)?(google.com|staging.google.com|development.google.com|otherdomain.example|dev02.otherdomain.example)$" AccessControlAllowOrigin=$0 Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin Header merge Vary Origin </IfModule> </FilesMatch>