Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ Object Storage Service/ Referência de API/ As API/ Hospedagem de site estático/ Configuração da hospedagem de site estático para um bucket
Atualizado em 2022-11-07 GMT+08:00

Configuração da hospedagem de site estático para um bucket

Funções

O OBS permite armazenar recursos estáticos de páginas da Web, como páginas da Web HTML, arquivos flash, vídeos e áudios em um bucket. Quando um cliente acessa esses recursos a partir do endpoint do site do bucket, o navegador pode resolver diretamente e apresentar os recursos ao cliente. Esta operação é aplicável a:

  • Redirecionamento de todas as solicitações para um endpoint do site.
  • Adicionamento das regras de roteamento que redirecionam solicitações específicas.

Você pode executar essa operação para criar ou atualizar a configuração do site de um bucket.

Para executar essa operação, você deve ter a permissão PutBucketWebsite. Por padrão, somente o proprietário do bucket pode executar essa operação. O proprietário do bucket pode conceder a permissão a outros usuários configurando a política do bucket ou a política do usuário.

Evite usar períodos(.) no nome do bucket de destino. Caso contrário, falhas no certificado de autenticação do cliente podem ocorrer quando os usuários usam HTTPS para acesso.

O tamanho máximo de uma solicitação de configuração de rede para um bucket é de 10 KB.

Sintaxe da solicitação

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
PUT /?website HTTP/1.1 
Host: bucketname.obs.region.myhuaweicloud.com 
Content-Length: length
Date: date
Authorization: authorization
<WebsiteConfiguration> 
    <RedirectAllRequestsTo> 
        <HostName>hostName</HostName> 
    </RedirectAllRequestsTo> 
</WebsiteConfiguration>

Parâmetros de solicitação

Esta solicitação não contém nenhum parâmetro.

Cabeçalhos de solicitação

Essa solicitação usa cabeçalhos comuns. Para mais detalhes, consulte Tabela 3.

Elementos de solicitação

Esta solicitação contém elementos para especificar a configuração do site no formato XML.

  • Para redirecionar todas as solicitações de site enviadas para o endpoint do site do bucket, adicione os elementos conforme descrito em Tabela 1.
    Tabela 1 Elementos para redirecionar todas as solicitações do site

    Elemento

    Descrição

    Obrigatório

    WebsiteConfiguration

    Nó raiz configurado no site

    Tipo: elemento

    Antepassado: nenhum

    Sim

    RedirectAllRequestsTo

    Descreve o comportamento de redirecionamento de cada solicitação para o endpoint do site desse bucket. Se este elemento estiver presente, não são permitidos outros irmãos.

    Tipo: element

    Antepassado: WebsiteConfiguration

    Sim

    HostName

    Nome do host para onde as solicitações serão redirecionadas

    Tipo: string

    Antepassado: RedirectAllRequestsTo

    Sim

    Protocol

    O protocolo HTTP ou HTTPS usado no redirecionamento de solicitações. O protocolo padrão é HTTP.

    Tipo: string

    Antepassado: RedirectAllRequestsTo

    Não

  • Para configurar regras de redirecionamento, adicione os elementos conforme descrito em Tabela 2.
    Tabela 2 Elementos para adicionar regras que redirecionam solicitações

    Elemento

    Descrição

    Obrigatório

    WebsiteConfiguration

    Elemento raiz para a configuração do site

    Tipo: elemento

    Antepassado: nenhum

    Sim

    IndexDocument

    Elemento Suff

    Tipo: elemento

    Antepassado: WebsiteConfiguration

    Sim

    Suffix

    Suffix que é anexado a uma solicitação iniciada para um diretório no ponto de extremidade do site. Por exemplo, se o suffix for index.html e você solicitar samplebucket/images/, os dados retornados serão para o objeto com o nome da chave images/index.html no bucket samplebucket. Suffix não pode estar vazio ou conter barras (/).

    Tipo: string

    Antepassado: IndexDocument

    Sim

    ErrorDocument

    Elemento Key

    Tipo: elemento

    Antepassado: WebsiteConfiguration

    Não

    Key

    Chave de objeto que é usada quando ocorre um erro 4XX. Este elemento identifica a página que é retornada quando ocorre um erro 4XX.

    Tipo: string

    Antepassado: ErrorDocument

    Condição: Necessário quando ErrorDocument é especificado.

    Não

    RoutingRules

    Elemento Routing

    Tipo: elemento

    Antepassado: WebsiteConfiguration

    Não

    RoutingRule

    Elemento de uma regra de redirecionamento. Uma regra de redirecionamento contém uma Condition e um Redirect. Quando a Condition é correspondida, Redirect entra em vigor.

    Tipo: elemento

    Antepassado: RoutingRules

    Pelo menos o elemento RoutingRule é necessário.

    Sim

    Condition

    Elemento para descrever uma condição que deve ser atendida para que o redirecionamento especificado seja aplicado.

    Tipo: elemento

    Antepassado: RoutingRule

    Não

    KeyPrefixEquals

    Prefixo do nome da chave de objeto quando o redirecionamento é aplicado.

    Exemplo:

    • Para redirecionar a solicitação para o objeto ExamplePage.html, o KeyPrefixEquals é definido como ExamplePage.html.

    Tipo: string

    Antepassado: Condição

    Condição: Necessário quando o elemento ancestral Condition é especificado e o irmão HttpErrorCodeReturnedEquals não é especificado. Se duas condições forem especificadas, ambas devem ser verdadeiras para que o Redirect seja aplicado.

    Não

    HttpErrorCodeReturnedEquals

    Código de erro HTTP retornado após o Redirecionamento ter entrado em vigor. O Redirecionamento especificado é aplicado somente quando o código de erro retornado é igual a esse valor.

    Exemplo:

    • Se você quiser redirecionar solicitações para NotFound.html quando o código de erro HTTP 404 for retornado, defina HttpErrorCodeReturnedEquals como 404 em Condition e defina ReplaceKeyWith como NotFound.html em Redirect.

    Tipo: string

    Antepassado: Condição

    Condição: Obrigatório quando o elemento ancestral Condition é especificado e o irmão KeyPrefixEquals não é especificado. Se várias condições forem especificadas, o Redirect terá efeito somente depois que todas as condições forem atendidas.

    Não

    Redirect

    Elemento para informações de redirecionamento. Você pode redirecionar solicitações para outro host, para outra página da Web ou com outro protocolo. Você pode especificar um código de erro a ser retornado após um erro.

    Tipo: elemento

    Antepassado: RoutingRule

    Sim

    Protocol

    Protocolo usado na solicitação de redirecionamento

    Tipo: string

    Antepassado: Redirecionamento

    Opções de valor: http, https

    Condição: Não é necessário se um dos irmãos estiver presente.

    Não

    HostName

    Nome do host usado na solicitação de redirecionamento.

    Tipo: string

    Antepassado: Redirecionamento

    Condição: Não é necessário se um dos irmãos estiver presente.

    Não

    ReplaceKeyPrefixWith

    Prefixo da chave de objeto usado na solicitação de redirecionamento.

    Exemplo:

    • Para redirecionar todas as solicitações de documentos para documentos, defina KeyPrefixEquals para docs em Condition e ReplaceKeyPrefixWith para documentos em Redirect.

    Tipo: string

    Antepassado: Redirect

    Condição: Não é necessário se um dos irmãos estiver presente. Pode estar presente apenas se o ReplaceKeyWith não for fornecido.

    Não

    ReplaceKeyWith

    Chave de objeto usada na solicitação de redirecionamento. Por exemplo, redirecione solicitações para error.html.

    Tipo: string

    Antepassado: Redirecionamento

    Condição: Não é necessário se um dos irmãos estiver presente. Pode estar presente apenas se ReplaceKeyPrefixWith não for fornecido.

    Não

    HttpRedirectCode

    Código de status HTTP retornado após a solicitação de redirecionamento

    Tipo: string

    Antepassado: Redirecionamento

    Condição: Não é necessário se um dos irmãos estiver presente.

    Não

Sintaxe da resposta

1
2
3
HTTP/1.1 status_code
Date: date
Content-Length: length

Cabeçalhos de resposta

A resposta à solicitação usa cabeçalhos comuns. Para mais detalhes, consulte Tabela 1.

Elementos de resposta

Esta resposta não contém nenhum elemento.

Respostas de erro

Nenhuma resposta de erro especial é retornada. Para obter detalhes sobre respostas de erro, consulte Tabela 2.

Solicitação de exemplo

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
PUT /?website HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: WED, 01 Jul 2015 03:40:29 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:pUK7Yp0yebnq4P6gqzVjoS7whoM=
Content-Length: 194

<WebsiteConfiguration xmlns="http://obs.ap-southeast-1.myhuaweicloud.com/doc/2015-06-30/">
  <RedirectAllRequestsTo>
    <HostName>www.huaweicloud.com</HostName>
  </RedirectAllRequestsTo>
</WebsiteConfiguration>

Resposta de exemplo

1
2
3
4
5
6
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF2600000164360D144670B9D02AABC6
x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCSItqMZ/AoFUX97l1xx8s67V3cCQtXWk
Date: WED, 01 Jul 2015 03:40:29 GMT
Content-Length: 0