2016-06-10 5 views
2

Я настраиваю заголовки Content-Security-Policy в Nginx, и я застрял в создании локально размещенных шрифтов Typekit.Локально размещенные шрифты, нарушающие правило CSP

Я использую следующий скрипт для размещения Typekit шрифтов локально, и результат был очень хорошим с хорошим временем загрузки и не FOUT: https://github.com/morris/typekit-cache

Но теперь проблема создания ПСА передать эти шрифты. Я попробовал localStorage, но это не сработало.

Эти ошибки я получаю:

[Сообщить только] Отказался, чтобы загрузить шрифт 'данные: шрифт/OpenType; base64, d09GMgABAAAAAFb0ABQAAAAAskgAAFaDAAIAAAAAAAAAAAAAA ... bJbjfY7U6T320POPp5HLprLxRlPwIJqShhBB1pRCUKkQmIKRpGoiON1kre7lGR0Z4h5ENMAQAA' потому что он нарушает следующие Content Security Политика директива: «шрифта-Src 'сам'

[Сообщить только] Отказался, чтобы загрузить шрифт «данные: приложения/шрифта Уофф; base64, d09GRgABAAAAABwUAA4AAAAAKHQAAQAAAAAAAAAAA ... NfJJTVolXlnco7lXd LiWW32CnmmMrFlnJ5aXLN8srxynGxmBgfv9d + AQ8KdggAAAABVwJMPAAA» , потому что он нарушает следующие директивы Content Security Policy: «шрифта-Src 'самость'

(я удалил домены, перечисленные для шрифтов ЦСИ политики).

Спасибо

ответ

2

Вы можете увидеть его создание шрифта-Src, как data, когда он загружает их. То есть base64 закодирована версия шрифта, а не ссылки на самих шрифты.

Так что просто измените font-src 'self'; на font-src 'self' data: ;, и он должен работать нормально.

+0

Спасибо, что заботится о проблеме отлично! – Mike