Google PageSpeed: создание критического css для css-файла, обслуживаемого CDN

Мы пытались оптимизировать веб-сайт, используя скорость страницы Google, и теперь у нас возникла проблема:

Мы используем модуль nginx_pagespeed. Пытаемся включить фильтр Prioritize_critical_css. Поскольку файлы CSS загружаются из внешнего домена CDN, критический фильтр CSS не работает. При запуске с ?PageSpeedFilters=debug в исходном HTML-коде возникает следующая ошибка.

Сводное состояние вычислений для CriticalCssBeacon

Ресурс 0 https://mycdndomain.com/styles/screen-2d470013.css: невозможно создать ресурс: либо его домен неавторизован и InlineUnauthorizedResources не включен, либо он не может быть получен (проверьте журналы сервера)

Где mycdndomain — это наш домен CDN.

Может ли кто-нибудь помочь мне решить эту проблему. Какие изменения в конфигурации nginx pagespeed необходимы?

Также что такое InlineUnauthorizedResources?


person Vishnu Nair    schedule 01.10.2014    source источник


Ответы (1)


По умолчанию mod_pagespeed перезаписывает ресурсы только в том же домене, что и HTML, чтобы включить перезапись ресурсов в других доменах, вам необходимо явно разрешить перезапись и, возможно, выполнить некоторую настройку.

Проще всего, вы можете авторизовать домен для перезаписи с помощью объявления pagespeed Domain:

pagespeed Domain https://mycdndomain.com;

Это даст указание mod_pagespeed перезаписать ресурсы из этого домена.

Но будьте осторожны, это просто указывает mod_pagespeed переписать URL-адреса, вам нужно будет убедиться, что ваш CDN может обслуживать переписанные URL-адреса! Если он просто извлекает контент с вашего сервера, все должно быть в порядке, но если это push CDN, он сломается, когда вы измените URL-адреса.

См. https://developers.google.com/speed/pagespeed/module/domains для полного описания авторизации и сопоставления доменов.

person sligocki    schedule 01.10.2014