Sim, uma abordagem menos hacky é simplesmente colocar seus arquivos estáticos em um bucket do S3 e usar o bucket do S3 como pull de origem. Deixe seu servidor da web completamente fora.
Estou usando o CloudFront como CDN e meu website como origem para pulls. Basicamente, eu tenho cdn.mydomain.com apontando para a Cloudfront, e a Cloudfront puxa todas as solicitações de www.mydomain.com . No entanto, não quero que os usuários possam solicitar itens como cdn.mydomain.com/default.aspx ou cdn.mydomain.com/Robots.txt . Na verdade, só quero exibir imagens, arquivos JavaScript, folhas de estilo CSS e outros conteúdos estáticos.
O que eu descobri é meio que um hack, embora pareça funcionar. Eu defino o comportamento Padrão para apontar para uma Origem chamada Nulo . A origem Null aponta para null.mydomain.com que não existe, portanto, qualquer solicitação será apenas um erro. Então, eu configuro outros comportamentos para cada diretório no meu site que eu quero whitelist. Parece assim:
Isso parece funcionar, mas existe uma solução melhor e menos hacky que esteja faltando?
Sim, uma abordagem menos hacky é simplesmente colocar seus arquivos estáticos em um bucket do S3 e usar o bucket do S3 como pull de origem. Deixe seu servidor da web completamente fora.