Следуя этому руководству от Heroku: https://help.heroku.com/RFDJQSG3/how-can-i-override-imagemagick-settings-in-a-policy-xml-file
Я создал папку /.magick
в моей папке приложения root Rails, и внутри нее есть файл policy.xml
это выглядит так:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policymap [
<!ELEMENT policymap (policy)+>
<!ATTLIST policymap xmlns CDATA #FIXED ''>
<!ELEMENT policy EMPTY>
<!ATTLIST policy xmlns CDATA #FIXED '' domain NMTOKEN #REQUIRED
name NMTOKEN #IMPLIED pattern CDATA #IMPLIED rights NMTOKEN #IMPLIED
stealth NMTOKEN #IMPLIED value CDATA #IMPLIED>
]>
<policymap>
<policy domain="delegate" rights="read" pattern="HTTPS" />
</policymap>
После коммита я запускаю: heroku config:set MAGICK_CONFIGURE_PATH="/app/.magick/:/etc/ImageMagick-6/"
Я проверил это в приложении, используя консоль Heroku rails, а ImageMagick все еще не разрешение запросов HTTPS.
Чтобы проверить политики, я проверил heroku run bash -a app
и identify -list policy
дал мне:
$ identify -list policy
Path: /etc/ImageMagick-6/policy.xml
Policy: Resource
name: disk
value: 1GiB
Policy: Resource
name: map
value: 512MiB
Policy: Resource
name: memory
value: 256MiB
Policy: Resource
name: area
value: 128MB
Policy: Resource
name: height
value: 16KP
Policy: Resource
name: width
value: 16KP
Path: /app/.magick/policy.xml
Policy: Delegate
rights: Read
pattern: HTTPS
Path: /etc/ImageMagick-6/policy.xml
Policy: Delegate
rights: None
pattern: URL
Policy: Delegate
rights: None
pattern: HTTPS
Policy: Delegate
rights: None
pattern: HTTP
Policy: Path
rights: None
pattern: @*
Path: /app/.magick/policy.xml
Policy: Delegate
rights: Read
pattern: HTTPS
Path: [built-in]
Policy: Undefined
rights: None
Это выглядит довольно хорошо, но запросы HTTPS все еще не работают. У кого-нибудь есть совет, чтобы Heroku хорошо играл и использовал обновленную политику?