Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Object Storage Service/ Referencia de la API/ Las API/ Alojamiento de sitio web estático/ Configuración de alojamiento estático de sitios web para un bucket
Actualización más reciente 2024-09-18 GMT+08:00

Configuración de alojamiento estático de sitios web para un bucket

Funciones

OBS le permite almacenar recursos de páginas web estáticas como páginas web HTML, archivos flash, vídeos y audios en un bucket. Cuando un cliente accede a estos recursos desde el punto de conexión del sitio web del bucket, el navegador puede resolver y presentar directamente los recursos al cliente. Esta operación es aplicable a:

  • Redirigir todas las solicitudes a un punto de conexión del sitio web.
  • Agregar las reglas de enrutamiento que redirigen solicitudes específicas.

Puede realizar esta operación para crear o actualizar la configuración del sitio web de un bucket.

Para realizar esta operación, debe tener el permiso PutBucketWebsite. De forma predeterminada, solo el propietario del bucket puede realizar esta operación. El propietario del bucket puede conceder el permiso a otros usuarios configurando la política de bucket o la política de usuario.

Evite usar (.) de períodos en el nombre del bucket de destino. De lo contrario, pueden producirse errores en el certificado de autenticación de cliente cuando los usuarios usan HTTPS para el acceso.

El tamaño máximo de una solicitud de configuración de red para un bucket es de 10 KB.

Sintaxis de solicitud

1
2
3
4
5
6
7
8
9
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 solicitud

Esta solicitud no contiene parámetros de mensaje.

Encabezados de solicitud

Esta solicitud utiliza encabezados comunes. Para más detalles, consulte Tabla 3.

Elementos de solicitud

Esta solicitud contiene los elementos para especificar la configuración del sitio web en formato XML.

  • Para redirigir todas las solicitudes de sitio web enviadas al extremo del sitio web del bucket, agregue los elementos como se describe en Tabla 1.
    Tabla 1 Elementos para redirigir todas las solicitudes de sitios web

    Elemento

    Descripción

    Obligatorio

    WebsiteConfiguration

    Nodo raíz configurado en el sitio web

    Tipo: container

    Antepasado: ninguno

    RedirectAllRequestsTo

    Describe el comportamiento de redirección para cada solicitud al punto de conexión del sitio web de este bucket. Si este elemento está presente, no se permiten otros hermanos.

    Tipo: container

    Antepasado: WebsiteConfiguration

    HostName

    Nombre del host al que se redirigirán las solicitudes

    Tipo: string

    Antepasado: RedirectAllRequestsTo

    Protocol

    El protocolo HTTP o HTTPS utilizado para redirigir solicitudes. El protocolo predeterminado es HTTP.

    Tipo: string

    Antepasado: RedirectAllRequestsTo

    No

  • Para configurar reglas de redirección, agregue los elementos como se describe en Tabla 2.
    Tabla 2 Elementos para agregar reglas que redirigen solicitudes

    Elemento

    Descripción

    Obligatorio

    WebsiteConfiguration

    Elemento raíz para la configuración del sitio web

    Tipo: container

    Antepasado: ninguno

    IndexDocument

    Elemento Suff

    Tipo: container

    Antepasado: WebsiteConfiguration

    Suffix

    Suffix que se agrega a una solicitud iniciada para un directorio en el punto de conexión del sitio web. Por ejemplo, si el suffix es index.html y solicita samplebucket/images/, los datos que se devuelven serán para el objeto con el nombre de clave images/index.html en el bucket samplebucket. Suffix no puede estar vacío ni contener barras diagonales (/).

    Tipo: string

    Antepasado: IndexDocument

    ErrorDocument

    Elemento Key

    Tipo: container

    Antepasado: WebsiteConfiguration

    No

    Key

    Clave de objeto que se utiliza cuando se produce un error 4XX. Este elemento identifica la página que se devuelve cuando se produce un error 4XX.

    Tipo: string

    Antepasado: ErrorDocument

    Condición: Requerido cuando se especifica ErrorDocument.

    No

    RoutingRules

    Elemento Routing

    Tipo: container

    Antepasado: WebsiteConfiguration

    No

    RoutingRule

    Elemento de una regla de redirección. Una regla de redirección contiene una Condition y una Redirect. Cuando se coincide con la Condition, Redirect entra en efecto.

    Tipo: container

    Antepasado: RoutingRules

    Se requiere al menos el elemento RoutingRule.

    Condition

    Elemento para describir una condición que debe cumplirse para que se aplique la redirección especificada.

    Tipo: container

    Antepasado: RoutingRule

    No

    KeyPrefixEquals

    Prefijo de nombre de clave de objeto cuando se aplica la redirección.

    Por ejemplo:

    • Para redirigir la solicitud del objeto ExamplePage.html, KeyPrefixEquals se establece en ExamplePage.html.

    Tipo: string

    Antepasado: Condition

    Condición: Requerido cuando se especifica el elemento antecesor Condition y no se especifica HttpErrorCodeReturnedEquals hermano. Si se especifican dos condiciones, ambas condiciones deben ser verdaderas para que se aplique el Redirect.

    No

    HttpErrorCodeReturnedEquals

    Código de error HTTP devuelto después de que Redirect haya tenido efecto. El Redirect especificado se aplica solo cuando el código de error devuelto es igual a este valor.

    Por ejemplo:

    • Si desea redirigir las solicitudes a NotFound.html cuando se devuelve el código de error HTTP 404, establezca HttpErrorCodeReturnedEquals en 404 en Condition, y establezca ReplaceKeyWith en NotFound.html en Redirect.

    Tipo: string

    Antepasado: Condition

    Condición: Requerido cuando se especifica el elemento antepasado Condition y no se especifica KeyPrefixEquals del mismo nivel. Si se especifican varias condiciones, Redirect solo tiene efecto después de que se cumplan todas las condiciones.

    No

    Redirect

    Elemento para la información de redirección. Puede redirigir las solicitudes a otro host, a otra página web o con otro protocolo. Puede especificar un código de error que se devolverá después de un error.

    Tipo: container

    Antepasado: RoutingRule

    Protocol

    Protocolo utilizado en la solicitud de redirección

    Tipo: string

    Antepasado: Redirect

    Opciones de valor: http, https

    Condición: No es necesario si uno de los hermanos está presente.

    No

    HostName

    Nombre de host utilizado en la solicitud de redirección.

    Tipo: string

    Antepasado: Redirect

    Condición: No es necesario si uno de los hermanos está presente.

    No

    ReplaceKeyPrefixWith

    El prefijo de nombre de objeto utilizado en la solicitud de redirección. OBS reemplaza el valor de KeyPrefixEquals por el valor especificado aquí para ReplaceKeyPrefixWith.

    Por ejemplo:

    Para redirigir todas las solicitudes de docs (objetos en el directorio docs) a documents (objetos en el directorio documents), establezca KeyPrefixEquals a docs en Condition y ReplaceKeyPrefixWith a documents en Redirect. De esta manera, las solicitudes de objeto docs/a.html serán redirigidas a documents/a.html.

    Tipo: string

    Antepasado: Redirect

    Condición: No es necesario si uno de los hermanos está presente. Puede estar presente solo si no se proporciona ReplaceKeyWith.

    No

    ReplaceKeyWith

    Nombre de objeto utilizado en la solicitud de redirección. OBS reemplaza todo el nombre de objeto de la solicitud con el valor especificado aquí para ReplaceKeyWith.

    Por ejemplo:

    Para redirigir las solicitudes de todos los objetos del directorio docs a documents/error.html, establezca KeyPrefixEquals a docs en Condition y ReplaceKeyWith a documents/error.html en Redirect. De esta manera, las solicitudes de ambos objetos docs/a.html y docs/b.html se redirigirán a documents/error.html.

    Tipo: string

    Antepasado: Redirect

    Condición: No es necesario si uno de los hermanos está presente. Puede estar presente solo si no se proporciona ReplaceKeyPrefixWith.

    No

    HttpRedirectCode

    Código de estado HTTP devuelto después de la solicitud de redirección

    Tipo: string

    Antepasado: Redirect

    Condición: No es necesario si uno de los hermanos está presente.

    No

Sintaxis de respuesta

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

Encabezados de respuesta

La respuesta a la solicitud utiliza encabezados comunes. Para más detalles, consulte Tabla 1.

Elementos de respuesta

Esta respuesta no contiene elementos.

Respuestas de error

No se devuelven respuestas de error especiales. Para obtener más información sobre las respuestas de error, consulte Tabla 2.

Modelo de solicitud

 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>

Modelo de respuesta

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