(Opcional) Configurar um redirecionamento de uma página da Web
Se o bucket do Amazon S3 estiver configurado para hospedagem de site estático, você poderá configurar redirecionamentos para seu bucket ou para os objetos nele contidos. As opções a seguir estão disponíveis para a configuração de redirecionamentos.
Tópicos
Redirecionar solicitações para o endpoint do site do seu bucket para outro bucket ou domínio
É possível redirecionar todas as solicitações de um endpoint de site de um bucket para outro bucket ou domínio. Se você redirecionar todas as solicitações, qualquer solicitação feita ao endpoint do site será redirecionada ao bucket ou domínio especificado.
Por exemplo, se o seu domínio raiz for example.com
e você quiser atender a solicitações para http://example.com
e http://www.example.com
, é necessário criar dois buckets chamados example.com
e www.example.com
. Depois, mantenha o conteúdo no bucket example.com
e configure o outro bucket www.example.com
para redirecionar todas as solicitações ao bucket example.com
. Para obter mais informações, consulte Configurar um site estático usando um nome de domínio personalizado.
Como redirecionar solicitações para um endpoint de site do bucket
-
Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/
. -
Em Buckets, escolha o nome do bucket do qual você deseja redirecionar solicitações (por exemplo,
www.example.com
). -
Escolha Properties (Propriedades).
-
Em Static website hosting (Hospedagem estática de sites), escolha Edit (Editar).
-
Selecione Redirect requests for an object (Redirecionar solicitações de um objeto).
-
Na caixa Host name (Nome do host) insira o endpoint do site para seu bucket ou seu domínio personalizado.
Por exemplo, se você estiver redirecionando para um endereço de domínio raiz, insira
example.com
. -
Para Protocol (Protocolo), escolha o protocolo para as solicitações redirecionadas (none,http, ou https).
Se você não especificar um protocolo, a opção padrão será none.
-
Selecione Save changes.
Configurar regras de redirecionamento para usar redirecionamentos condicionais avançados
Usando regras de redirecionamentos avançadas, você pode rotear solicitações condicionalmente de acordo com nomes de chave de objeto específicos, prefixos na solicitação ou códigos da resposta. Por exemplo, suponha que você exclua ou dê outro nome a um objeto em seu bucket. Você pode adicionar uma regra de roteamento que redireciona a solicitação a outro objeto. Se você deseja tornar uma pasta indisponível, será possível adicionar uma regra de roteamento para redirecionar a solicitação para outra página da Web. Você também pode adicionar uma regra de roteamento para processar condições de erro, encaminhando solicitações que retornam o erro para outro domínio quando ele é processado.
Ao habilitar a hospedagem de site estático para seu bucket, você pode especificar opcionalmente regras de redirecionamento avançadas. O Amazon S3 tem uma limitação de 50 regras de roteamento por configuração de site. Se você precisar de mais de 50 regras de roteamento, poderá usar o redirecionamento de objetos. Para obter mais informações, consulte Uso do console do S3.
Para obter mais informações sobre como configurar regras de roteamento usando a API REST, consulte PutBucketWebsite na Referência da API do Amazon Simple Storage Service.
Importante
Para criar regras de redirecionamento no novo console do Amazon S3, você deve usar o JSON. Para exemplos de JSON, consulte Exemplos de regras de redirecionamento.
Para configurar regras de redirecionamento para um site estático
Para adicionar regras de redirecionamento para um bucket que já tem alojamento de site estático ativado, siga estas etapas.
-
Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/
. -
Na lista Bucket, escolha o nome do bucket configurado como um site estático.
-
Escolha Properties (Propriedades).
-
Em Static website hosting (Hospedagem estática de sites), escolha Edit (Editar).
-
Na caixa Redirection rules (Regras de redirecionamento), insira suas regras de redirecionamento em JSON.
No console do S3, você descreve as regras usando o JSON. Para exemplos de JSON, consulte Exemplos de regras de redirecionamento. O Amazon S3 tem uma limitação de 50 regras de roteamento por configuração de site.
-
Selecione Save changes.
Elementos de regra de roteamento
Veja a seguir a sintaxe geral para definir as regras de roteamento em uma configuração de site em XML. Para configurar regras de redirecionamento no novo console do S3, use o JSON. Para exemplos de JSON, consulte Exemplos de regras de redirecionamento.
A tabela a seguir descreve os elementos na regra de roteamento.
Nome | Descrição |
---|---|
RoutingRules |
Contêiner para um conjunto de elementos RoutingRule . |
RoutingRule |
Uma regra que identifica uma condição e o redirecionamento que é aplicado quando a condição é satisfeita. Condição:
|
Condition |
O contêiner para descrever uma condição que deve ser satisfeita para que o redirecionamento especificado seja aplicado. Se a regra de roteamento não incluir uma condição, a regra será aplicada a todas as solicitações. |
KeyPrefixEquals |
O prefixo do nome da chave de objeto do qual as solicitações são redirecionadas.
|
HttpErrorCodeReturnedEquals |
O código de erro HTTP que deve corresponder para que o redirecionamento seja aplicado. Se ocorrer um erro, e se o código de erro satisfizer esse valor, o redirecionamento especificado será aplicado.
|
Redirect |
O elemento do contêiner que fornece instruções para o redirecionamento da solicitação. Você pode redirecionar solicitações para outro host, ou outra página, ou pode especificar outro protocolo a ser usado. Uma |
Protocol |
O protocolo, Se um dos irmãos for fornecido, |
HostName |
O nome do host a ser usado no cabeçalho Se um dos irmãos for fornecido, |
ReplaceKeyPrefixWith |
O prefixo do nome de chave de objeto que substitui o valor de Se um dos irmãos for fornecido, |
ReplaceKeyWith |
A chave de objeto a ser usada no cabeçalho Se um dos irmãos for fornecido, |
HttpRedirectCode |
O código de redirecionamento HTTP a ser usado no cabeçalho Se um dos irmãos for fornecido, |
Exemplos de regras de redirecionamento
Os seguintes exemplos explicam tarefas comuns de redirecionamento:
Importante
Para criar regras de redirecionamento no novo console do Amazon S3, você deve usar o JSON.
exemplo 1: Redirecionar após trocar o nome de um prefixo de chave
Suponha que seu bucket contenha os seguintes objetos:
-
index.html
-
docs/article1.html
-
docs/article2.html
Você decide renomear a pasta de docs/
para documents/
. Depois de fazer essa alteração, você precisará redirecionar as solicitações do prefixo docs/
para documents/
. Por exemplo, as solicitações para docs/article1.html
serão redirecionadas para documents/article1.html
.
Nesse caso, adicione a seguinte regra de roteamento à configuração do site:
exemplo 2: Redirecionar solicitações de uma pasta excluída para uma página
Suponha que você tenha excluído a pasta images/
(ou seja, você excluiu todos os objetos com o prefixo de chave images/
). Você pode adicionar uma regra de roteamento que redirecione as solicitações para os objetos com o prefixo de chave images/
a uma página chamada folderdeleted.html
.
exemplo 3: Redirecionar para um erro HTTP
Suponha que, quando um objeto solicitado não for encontrado, você queira redirecionar solicitações para uma instância do Amazon Elastic Compute Cloud (Amazon EC2). Adicione uma regra de redirecionamento para que, quando um código HTTP de status 404 (não encontrado)
for retornado, o visitante do site seja redirecionado para uma instância do Amazon EC2 que processa a solicitação.
O exemplo a seguir também insere o prefixo de chave de objeto report-404/
no redirecionamento. Por exemplo, se você solicitar uma página ExamplePage.html
e ela resultar em um erro HTTP 404, a solicitação será redirecionada a uma página report-404/ExamplePage.html
na instância do Amazon EC2 especificada. Se não houver nenhuma regra de roteamento e o erro HTTP 404 ocorrer, o documento de erro que é especificado na configuração será retornado.
Redirecionar solicitações para um objeto
Você pode redirecionar solicitações de um objeto para outro objeto ou URL configurando o local de redirecionamento do site nos metadados do objeto. Você define o redirecionamento adicionando a propriedade x-amz-website-redirect-location
aos metadados do objeto. Você pode usar o console do Amazon S3 para definir o Website Redirect Location (Local de redirecionamento de site) nos metadados do objeto. Se você usar a API do Amazon S3, defina x-amz-website-redirect-location
. A seguir, o site interpreta o objeto como um redirecionamento 301.
Para reorientar uma solicitação para outro objeto, você define o local de redirecionamento como a chave do objeto de destino. Para redirecionar uma solicitação para um URL externo, defina o local de redirecionamento como o URL desejado. Para obter mais informações sobre metadados de objeto, consulte Metadados do objeto definidos pelo sistema.
Quando você define um redirecionamento de página, pode manter ou excluir o conteúdo de objeto de origem. Por exemplo, se você tiver um objeto page1.html
em seu bucket, poderá redirecionar todas as solicitações para essa página para outro objeto, page2.html
. Você tem duas opções:
-
Mantenha o conteúdo do objeto do
page1.html
e redirecione solicitações de página. -
Exclua o conteúdo de
page1.html
e carregue um objeto de byte zero chamadopage1.html
para substituir o objeto existente e redirecionar solicitações de páginas.
-
Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/
. -
Na lista Buckets, escolha o nome do bucket que você configurou como um site estático (por exemplo,
example.com
). -
Em Objects (Objetos), selecione seu objeto.
-
Escolha Actions (Ações) e escolha Edit metadata (Editar metadados).
-
Escolha Metadata (Metadados).
-
Escolha Add Metadata (Adicionar metadados).
-
Em Type (Tipo), escolha System Defined (Definido pelo sistema).
-
Em Key (Chave), escolha x-amz-website-redirect-location.
-
Em Value (Valor), insira o nome da chave do objeto o qual deseja redirecionar, por exemplo,
/page2.html
.Para outro objeto no mesmo bucket, o prefixo
/
no valor é obrigatório. Você também pode definir o valor para um URL externo, por exemplo,http://www.example.com
. -
Escolha Edit metadata (Editar metadados).
As ações da API do Amazon S3 oferecem suporte ao cabeçalho x-amz-website-redirect-location
na solicitação. O Amazon S3 armazena o valor de cabeçalho nos metadados de objeto como x-amz-website-redirect-location
.
Um bucket configurado para hospedagem de sites tem o endpoint de site e o endpoint REST. Uma solicitação para uma página que é configurada como redirecionamento 301 tem os seguintes resultados possíveis, dependendo do endpoint da solicitação:
-
Endpoint de site específico da região: o Amazon S3 redireciona a solicitação da página de acordo com o valor da propriedade
x-amz-website-redirect-location
. -
Endpoint REST: o Amazon S3 não redireciona a solicitação da página. Ele retorna o objeto solicitado.
Para obter mais informações sobre os endpoints, consulte Principais diferenças entre um endpoint de site e um endpoint de API REST.
Quando você define um redirecionamento de página, pode manter ou excluir o conteúdo de objeto. Por exemplo, suponha que você tenha um objeto page1.html
em seu bucket.
-
Para manter o conteúdo de
page1.html
e apenas redirecionar as solicitações de página, envie uma solicitação PUT objeto - Copiar para criar um novo objetopage1.html
que usa o objetopage1.html
existente como origem. Na sua solicitação, você define o cabeçalhox-amz-website-redirect-location
. Quando a solicitação for concluída, você terá a página original com o conteúdo inalterado, mas o Amazon S3 redirecionará todas as solicitações da página para o local de redirecionamento especificado. -
Para excluir o conteúdo do objeto
page1.html
e redirecionar as solicitações para a página, envie uma solicitação PUT objeto para fazer upload de um objeto com zero byte com a mesma chave de objeto:page1.html
. Na solicitação PUT, você definex-amz-website-redirect-location
parapage1.html
como o novo objeto. Quando a solicitação for concluída,page1.html
não terá nenhum conteúdo, e as solicitações serão redirecionadas para o local que é especificado porx-amz-website-redirect-location
.
Quando você recupera o objeto usando a ação GET objeto com outros metadados de objeto, o Amazon S3 retorna o cabeçalho x-amz-website-redirect-location
na resposta.