3

我正在尝试使用 Imagemagick 通过 Heroku 上的 https 访问图像。如何更改 Heroku 上的策略(在 policy.xml 中)?

Heroku 在 2016 年 5 月进行了“ImageMagick 安全更新”:https ://devcenter.heroku.com/changelog-items/891

heroku run bash输入and后,我可以看到策略列表convert -list policy

Path: [built-in] Policy: Undefined rights: None

Path: /etc/ImageMagick/policy.xml [...] Policy: Coder rights: None pattern: HTTPS [...]

如何更改政策?

更新1:这是日志文件中的错误:

Command failed: convert.im6: not authorized `//scontent-fra3-1.xx.fbcdn.net/v/t1.0-9/13962741_132344500547278_4974691444630710043_n.jpg?oh=c169b4ffce9e5ce330ee99214cc6b8d5&oe=5880F245'

4

3 回答 3

4

我找到了一个相对简单的解决方案。

在您的应用程序源中创建一个.magick目录,然后在policy.xml其中添加您的目录。然后,您必须将环境变量设置MAGICK_CONFIGURE_PATH/app/.magick,以便以高于默认值的优先级加载文件。

于 2018-11-08T15:50:59.230 回答
1

我们需要在heroku上安装第三方软件ImageMagick。我使用这个https://github.com/ello/heroku-buildpack-imagemagick构建包来安装 ImageMagick。

所以,在 bin/compile 里面,有一个策略文件,限制图片通过 Https 读取,启用rights允许read通过 Https 读取的属性

分叉 repo 并进行更改,提交并将该存储库 url 添加到您的 heroku buildpacks

于 2017-09-18T07:24:50.820 回答
0

阅读ImageTragick上的警告,然后进行备份并删除限制您的行。

您可以通过执行以下操作在与其他 XML 配置文件相同的目录中找到要编辑的文件 - 该文件称为policy.xml

convert -debug configure -list font 2>&1 | grep -E "Searching|Loading"
于 2016-09-10T11:28:12.630 回答