Queremos encaminhar todas as solicitações para domain.com/foo
para um bucket do S3 liderado pela Cloudfront. A ideia é que nosso domínio é usado enquanto o conteúdo é carregado do S3 / Cloudfront. Eu tenho a configuração do Apache para reverter as solicitações de proxy para /foo
assim:
<Location /foo>
RequestHeader set X-Forwarded-Proto "https"
ProxyPassReverseCookiePath / /foo
ProxyPass http://bar.cloudfront.net/
ProxyPassReverse http://bar.cloudfront.net/
</Location>
No entanto, quando chego em domain.com/foo
, recebo um 403 Forbidden
da Cloudfront.
Eu tentei adicionar o cabeçalho RequestHeader set Host "bar.cloudfront.net"
, a página é carregada e vejo o conteúdo no s3
bucket, mas o domínio é obviamente o domínio CDN.
Atualização:
Eu troquei o URL do cloudfront na configuração do Apache para o URL público do bucket do s3 e ele funcionou, enquanto preservava o hostname. Então, acredito que isso confirma um problema com a Cloudfront.
Eu adicionei nosso nome de domínio como CNAME no CloudFront. Em seguida, defina o RequestHeader set Host
para o nosso nome de domínio com o /foo
. Isso preserva o nome do host, mas causa um erro 400
do CloudFront.