Servindo sites estáticos do S3 com nginx

1

Eu sei que o S3 pode exibir um arquivo index.html simples se estiver na raiz de um intervalo, mas minha necessidade é atender a muitos sites estáticos simples e o S3 tem um limite de 100 depósitos por conta. use nginx e alguns subdiretórios (como o link , o intervalo é sempre foo.bar.com, que mapeei no domínio bar.com usando um CNAME que aponta para foo.bar.com.s3.amazonaws.com).

Esses sites estáticos devem estar acessíveis em subdominio.bar.com e veicular diretamente o arquivo index.html.

Este é o meu conf nginx:

server {

        listen   80; ## listen for ipv4
        listen   [::]:80 default ipv6only=on; ## listen for ipv6

        server_name *.bar.com;

        set $subdomain "";

        if ($host ~* "^(.+)\.bar\.com$") {
                set $subdomain $1;
                rewrite ^(.*)$ /$subdomain/index.html last;
                break;
        }

        location / {
            proxy_pass http://foo.bar.com/;
        }

}

Estou quase lá :) O que acontece agora é que o arquivo index.html é baixado: eu verifiquei com curl e o tipo de conteúdo é octeto / strem. Eu tentei substituir o cabeçalho para text / html e consegui, mas continuo baixando o arquivo.

Acredito que o meu erro é index.html de codificação, a instrução de índice que dou é completamente redundante, não consigo fazê-lo funcionar.

O que eu gostaria que o nginx fizesse é receber o test.bar.com, e servir (não baixar) o arquivo html localizado em link

Alguém pode me ajudar?

TIA

    
por ngw 17.05.2011 / 05:59

1 resposta

1

Verifique com o curl - que tipo de resposta vem do link ?

Corrija Content-type: text/html quando colocar seus arquivos no S3.

s3put -t text/html .... fez o truque

    
por 17.05.2011 / 10:41