Imagemagick - 更改Heroku上的policy.xml

时间:2016-09-10 11:11:40

标签: heroku https imagemagick policy node-imagemagick

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

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

在输入heroku run bashconvert -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'

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

因此,在bin / compile中,有一个策略文件,它限制图像通过Https读取,启用属性rightsread,允许读取Https

fork the repo并进行更改,提交并将该存储库url添加到heroku buildpacks

答案 2 :(得分:-1)

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

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

convert -debug configure -list font 2>&1 | grep -E "Searching|Loading"