amazon-web-services - resource - política do bucket - Code Examples
amazon-web-services - resource - política do bucket
A fonte da origem foi impedida de ser carregada pela política de compartilhamento de recursos de origem cruzada (7)
A única coisa que funcionou para mim (provavelmente porque eu tinha inconsistências com o uso do www):
Cole isto no seu arquivo .htaccess:
Estou recebendo o seguinte erro em alguns navegadores Chrome, mas não em todos. Não tenho certeza completamente qual é o problema neste momento.
A fonte de origem ' https://ABCDEFG.cloudfront.net ' foi bloqueada para carregamento por diretiva de Compartilhamento de Recursos de Origem Cruzada: Nenhum cabeçalho 'Access-Control-Allow-Origin' está presente no recurso solicitado. A origem ' https://sub.domain.com ' não tem, portanto, acesso permitido.
Eu tenho a seguinte configuração de CORS no S3
Todas as outras solicitações do Cloudfront / S3 funcionam corretamente, incluindo arquivos JS.
A solução de trabalho para heroku está aqui http://kennethjiang.blogspot.com/2014/07/set-up-cors-in-cloudfront-for-custom.html (veja as citações):
Abaixo está exatamente o que você pode fazer se estiver executando seu aplicativo Rails no Heroku e usando o Cloudfront como seu CDN. Foi testado em Ruby 2.1 + Rails 4, pilha de Cedar Heroku.
Adicionar cabeçalhos HTTP CORS (Access-Control- *) aos recursos de fonte
Adicione gem font_assets a Gemfile.
Adicione config.font_assets.origin = '*' para config/application.rb . Se você quiser um controle mais granular, poderá adicionar diferentes valores de origem a diferentes ambientes, por exemplo, config/config/environments/production.rb
Empurre o código para Heroku.
Configurar o Cloudfront para encaminhar os cabeçalhos HTTP do CORS
Na Cloudfront, selecione sua distribuição, na guia "comportamento", selecione e edite a entrada que controla a entrega de suas fontes (para a maioria dos aplicativos simples do Rails, você só tem 1 entrada aqui). Altere os cabeçalhos de encaminhamento de "Nenhum" para "Whilelist". Adicione os seguintes cabeçalhos à lista de permissões:
Salve e é isso!
Ressalva: Descobri que às vezes o Firefox não atualizava as fontes mesmo se o erro de CORS desaparecesse. Neste caso, atualize a página algumas vezes para convencer o Firefox de que você está realmente determinado.
Consegui resolver o problema simplesmente adicionando <AllowedMethod>HEAD</AllowedMethod> à política de CORS do <AllowedMethod>HEAD</AllowedMethod> do S3.
Em 26 de junho de 2014, a AWS lançou o comportamento Vary: Origin adequado no CloudFront. Agora você só
Defina uma configuração CORS para o seu bucket S3:
No CloudFront -> Distribution -> Comportamentos para essa origem, use a opção Forward Headers: Whitelist e coloque na lista de permissões o cabeçalho "Origem".
Aguarde cerca de 20 minutos enquanto o CloudFront propaga a nova regra
Agora, sua distribuição do CloudFront deve armazenar em cache respostas diferentes (com cabeçalhos de CORS apropriados) para diferentes cabeçalhos de origem do cliente.
Há um bom writeup here .
Configurar isso no nginx / apache é um erro.
Se você estiver usando uma empresa de hospedagem, não poderá configurar a borda.
Se você estiver usando o Docker, o aplicativo deve ser autônomo.
Observe que alguns exemplos usam connectHandlers mas isso define apenas os cabeçalhos no documento. O uso de rawConnectHandlers aplica-se a todos os ativos atendidos (fonts / css / etc).
Este seria um bom momento para analisar a política do navegador, como enquadramento, etc.
Selecione seu balde
Clique nas propriedades no canto superior direito
Permisions => Edit Cors Configuration => Salvar
Para aqueles que usam produtos da Microsoft com um arquivo web.config:
Mesclar isso com o seu web.config.
Para permitir em qualquer domínio, substitua value="domain" por value="*"
Se você não tiver permissão para editar o web.config, adicione essa linha ao seu código do lado do servidor.
the resource requested preço present política origin negado home east control aws arn allow acesso amazon-web-services amazon-s3 cors amazon-cloudfront