У меня есть приложение rails, использующее cloudfront как хост-ресурс. Все отлично, за исключением случаев, когда дело касается шрифтов. Чтобы браузеры вытащили кешированные шрифты из облачного интерфейса, я использую жемчужину font_assets. К сожалению, это была не волшебная пуля, на которую я надеялся.Cloudfront возвращает 401 в ответ на запросы
В конфигурации/сред/production.rb, я получил эту
config.font_assets.origin = 'https://www.MyURL.com'
Я также получил force_ssl значение ИСТИНА.
Когда я скручиваю один из шрифтов, это то, что я вижу.
$ curl -i https://**<mycloudfront domain name>**/assets/opensans-regular-webfont-debcfe09b9fe1d259815c339e9ef4a9f.woff
HTTP/1.1 401 Unauthorized
Content-Type: application/font-woff
Content-Length: 0
Connection: keep-alive
Server: Cowboy
Strict-Transport-Security: max-age=31536000
WWW-Authenticate: Basic realm=""
Cache-Control: no-cache
X-Request-Id: f1215a95-603c-4b8a-acc9-077a292ee538
X-Runtime: 0.006937
Access-Control-Allow-Origin: https://<**Origin Domain Name**>
Access-Control-Allow-Methods: GET
Access-Control-Allow-Headers: x-requested-with
Access-Control-Max-Age: 3628800
Date: Mon, 23 Nov 2015 05:23:18 GMT
X-Rack-Cache: miss
Via: 1.1 vegur, 1.1 87a5dc4906ffb6323c3ec65df37e46f1.cloudfront.net (CloudFront)
Vary: Accept-Encoding
X-Cache: Error from cloudfront
X-Amz-Cf-Id: 8EQxf_pJ-fAiEis8ztx9icjRbFy5CWPn_ccOFO-WjzgICN-_NSOing==
Я запутался, почему я получаю 401, при условии, что область происхождения указана в CloudFront происхождения.
Любая идея, что я делаю неправильно здесь?
Могу ли я спросить вашу структуру развертывания? у вас есть несколько вариантов в зависимости от этого, чтобы установить CORS – Abs
Я размещаю приложение на Heroku и используя Cloudfront для кэширования активов. Для Heroku это просто «толчок к развертыванию». Отвечает ли это на ваш вопрос? –
Я сделал эту настройку самостоятельно, прежде чем не помню, что сделал что-то особенное .. однако попробуйте CloudFront Distributions> Origins> Протокол исходной политики> Match Origin .. У вас уже есть Access-Control-Allow-Origin: https: // <** Происхождение доменного имени **> поэтому я не вижу никаких проблем. Попробуйте это также. Отредактируйте поведение CloudFront по умолчанию для переадресации заголовков. – Abs