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
Sí
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
Sí
HostName
Nombre del host al que se redirigirán las solicitudes
Tipo: string
Antepasado: RedirectAllRequestsTo
Sí
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
Sí
IndexDocument
Elemento Suff
Tipo: container
Antepasado: WebsiteConfiguration
Sí
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
Sí
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.
Sí
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
Sí
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 |