Reverse Proxy To Cloudfront CDN

2

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.

    
por mam8cc 20.02.2017 / 22:26

1 resposta

2

A Cloudfront precisa estar ciente de todos os cabeçalhos de host que receberá. Você pode adicionar domain.com como uma entrada CNAME no Cloudfront. Isso não faz com que o tráfego chegue ao cloudfront, mas identifica o cabeçalho do host como relacionado à sua configuração específica.

    
por 21.02.2017 / 18:46