gpt4 book ai didi

heroku - 如何在 Phoenix 中为字体设置 CORS header ?

转载 作者:行者123 更新时间:2023-12-02 07:23:02 24 4
gpt4 key购买 nike

我有一个 Phoenix 应用程序,它应该将其静态 Assets (主要是字体)提供给 www.domain.comsubdomain.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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com