作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Phoenix 应用程序,它应该将其静态 Assets (主要是字体)提供给 www.domain.com
和 subdomain.domain.com
.
该应用托管在 heroku 上。
如何设置 CORS header ?
我找到了 this library ,但它似乎不适用于静态 Assets (我认为)。
我试过这样配置:
defmodule MyApp.CORS do
use Corsica.Router
resource "/fonts/*", origins: ["http://subdomain.domain.com"]
end
但生成的 header 是:
cache-control:public
content-length:839
content-type:image/svg+xml
date:Sun, 19 Jun 2016 09:40:01 GMT
etag:3AAE04D
server:Cowboy
最佳答案
您可以将可选的 :headers
选项用于 Plug.Static
并将 Access-Control-Allow-Origin
header 设置为 *
。
在 lib/my_app/endpoint.ex
中,在 plug Plug.Static
调用的末尾添加以下参数:
headers: %{"Access-Control-Allow-Origin" => "*"}
您的代码应该类似于:
plug Plug.Static,
at: "/", from: :my_app, gzip: false,
only: ~w(css fonts images js favicon.ico robots.txt),
headers: %{"Access-Control-Allow-Origin" => "*"}
请注意,如果您想允许多个域工作(单个域或 *
可以工作),这将不工作,我相信you have to dynamically calculate the value based on the request's Origin
header为此,Plug.Static
只允许添加一个静态的 header 列表。
关于heroku - 如何在 Phoenix 中为字体设置 CORS header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37905792/
我是一名优秀的程序员,十分优秀!