Configuración del alojamiento de sitios web estáticos
Puede configurar el alojamiento de sitios web estáticos para un bucket y luego usar un nombre de dominio del bucket para acceder a sitios web estáticos alojados en el bucket.
El alojamiento de sitios web estáticos entra en vigor dentro de los dos minutos después de que se complete su configuración.
En el escenario de alojamiento de sitios web estáticos, los usuarios anónimos deben tener acceso al archivo de sitio web estático alojado. Durante su acceso al archivo alojado, se incurrirán en tarifas por el tráfico de Internet saliente y las solicitudes.
Precauciones
Por motivos de seguridad y cumplimiento, utilizar el alojamiento de sitios web estático a través del nombre de dominio de OBS predeterminado (nombre de dominio de bucket o nombre de dominio de sitio web estático) será prohibido por OBS. Cuando utiliza dicho nombre de dominio para acceder a páginas web a través de un navegador, no se mostrará ningún contenido, en su lugar, el contenido se descargará como un archivo adjunto.
Esta prohibición entrará en vigor en diferentes regiones en los dos momentos siguientes:
1 de enero de 2022: CN North-Beijing1, CN North-Beijing4, CN East-Shanghai1, CN East-Shanghai2, and CN South-Guangzhou
25 de marzo de 2022: CN-Hong Kong, AP-Bangkok, AP-Singapore, AF-Johannesburg, LA-Mexico City1, LA-Mexico City2, LA-Sao Paulo1, and LA-Santiago
Todavía puede utilizar el alojamiento de sitios web estático a través de un nombre de dominio definido por el usuario. De esta manera, el contenido aún se puede previsualizar. Para obtener más información, consulte ¿Cómo previsualizo objetos en OBS a través de un navegador?
Requisitos previos
Los archivos de página web del sitio web estático se han subido a un bucket.
Los usuarios anónimos pueden acceder a los archivos de sitios web estáticos alojados en el bucket.
Si los archivos de página web están en la clase de almacenamiento Archive o Deep Archive, restáurelos primero. Para obtener más información, consulte Restauración de objetos del almacenamiento Archive.
Procedimiento
- En el panel de navegación de OBS Console, elija Object Storage.
- En la lista de bucket, haga clic en el nombre del bucket que desee. Se muestra la página Objects.
- (Optional) Si los usuarios anónimos no pueden acceder a los archivos de sitio web estáticos del bucket realice este paso. Si ya son accesibles para todos, omita este paso.
Otorgar el permiso de lectura para archivos de sitio web estáticos a usuarios anónimos. Para obtener más información, consulte Concesión de permisos de lectura pública en objetos a usuarios anónimos.
Si el bucket solo contiene archivos de sitio web estáticos, configure la política Public Read para el bucket para que se pueda acceder públicamente a todos los archivos.
- Elija Permissions > Bucket Policy.
- Haga clic en Create.
- En la lista de plantillas, busque Public Read en la columna Template Name y haga clic en Use Policy Template a la derecha.
Figura 1 Configuración del permiso de lectura pública
- Mantenga la configuración predeterminada de la plantilla y haga clic en Next y, a continuación, en Create.
- En el panel de navegación, elija Overview.
- En el área Basic Configurations, haga clic en Static Website Hosting. Se muestra la página Static Website Hosting.
Alternativamente, puede elegir Basic Configurations > Static Website Hosting en el panel de navegación de la izquierda.
- Haga clic en Configure Static Website Hosting. Aparece el cuadro de diálogo Configure Static Website Hosting.
- Actívelo encendiendo el interruptor de estado.
- Establezca el tipo de alojamiento en el bucket actual. Para obtener más información, consulte Figura 2.
- Establezca los valores de la página de inicio y de la página de error 404.
- Homepage: especifica la página de inicio predeterminada del sitio web estático. Cuando se utiliza OBS Console para configurar el alojamiento de sitios web estático, solo se admiten páginas web HTML. Cuando las API se utilizan para configurar el alojamiento de sitios web estático, OBS no tiene ninguna restricción, pero se debe especificar Content-Type de los objetos.
OBS solo permite que archivos como index.html en el directorio raíz de un bucket funcionen como la página de inicio por defecto. No establezca la página de inicio predeterminada con una estructura de directorios de varios niveles (por ejemplo, /page/index.html).
- 404 Error Page: especifica la página de error devuelta cuando se produce un error durante el acceso estático al sitio web. Cuando se utiliza OBS Console para configurar el alojamiento de sitios web estático, solo se admiten archivos HTML, JPG, PNG, BMP y WEBP bajo el directorio raíz. Cuando las API se utilizan para configurar el alojamiento de sitios web estático, OBS no tiene ninguna restricción, pero se debe especificar Content-Type de los objetos.
- Homepage: especifica la página de inicio predeterminada del sitio web estático. Cuando se utiliza OBS Console para configurar el alojamiento de sitios web estático, solo se admiten páginas web HTML. Cuando las API se utilizan para configurar el alojamiento de sitios web estático, OBS no tiene ninguna restricción, pero se debe especificar Content-Type de los objetos.
- Optional: En Redirection Rules, configure las reglas de redirección. Las solicitudes que cumplen con las reglas de redirección se redirigen al host o página específico.
Una regla de redirección se compila en formato JSON o XML. Cada regla contiene un Condition y un Redirect. Los parámetros se describen de la siguiente manera:
Tabla 1 Descripción del parámetro Contenedor
Clave
Descripción
Condición
KeyPrefixEquals
Prefijo de nombre de objeto en el que se aplica la regla de redirección. Cuando se envía una solicitud para acceder a un objeto, la regla de redirección tiene efecto si el prefijo del nombre del objeto coincide con el valor especificado para este parámetro.
Por ejemplo, para redirigir la solicitud de objeto ExamplePage.html, establezca KeyPrefixEquals en ExamplePage.html.
HttpErrorCodeReturnedEquals
Códigos de error de HTTP sobre los que la regla de redirección entra en vigor. La redirección especificada sólo se aplica cuando el código de error devuelto es igual al valor especificado para este parámetro.
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 a NotFound.html en Redirect.
Redireccionar
Protocol
Protocolo utilizado para la redirección. El valor puede ser http o https. Si no se especifica este parámetro, se utiliza el valor predeterminado http.
HostName
Nombre de host al que apunta la redirección. Si no se especifica este parámetro, la solicitud se redirige al host desde el que se inicia la solicitud original.
ReplaceKeyPrefixWith
Prefijo de nombre de objeto en el que entra en vigor la regla de redirección
ReplaceKeyWith
Nombre del objeto en el que entra en vigor la regla de redirección
HttpRedirectCode
Código de estado HTTP devuelto a la solicitud de redirección. El valor predeterminado es 301, que indica que las solicitudes se redirigen permanentemente a la ubicación especificada por Redirect. También puede establecer este parámetro en función de sus necesidades de servicio.
Ejemplo de configuración de una regla de redirección
- Ejemplo 1: Todas las solicitudes de objetos con el prefijo folder1/ se redirigen automáticamente a las páginas con el prefijo target.html en el host www.example.com usando HTTPS.
[ { "Condition": { "KeyPrefixEquals": "folder1/" }, "Redirect":{ "Protocol": "https", "HostName": "www.example.com", "ReplaceKeyPrefixWith": "target.html" } } ]
- Ejemplo 2: Todas las solicitudes de objetos con el prefijo folder2/ se redirigen automáticamente a objetos con el prefijo folder/ en el mismo bucket.
[ { "Condition": { "KeyPrefixEquals": "folder2/" }, "Redirect":{ "ReplaceKeyPrefixWith": "folder/" } } ]
- Ejemplo 3: Todas las solicitudes de objetos con el prefijo folder.html se redirigen automáticamente al objeto folderdeleted.html en el mismo bucket.
[ { "Condition": { "KeyPrefixEquals": "folder.html" }, "Redirect":{ "ReplaceKeyWith": "folderdeleted.html" } } ]
- Ejemplo 4: Si se devuelve el código de estado de HTTP 404, la solicitud se redirige automáticamente a la página con el prefijo report-404/ en el host www.example.com.
For example, if you request the page ExamplePage.html but the HTTP 404 error is returned, the request will be redirected to the report-404/ExamplePage.html page on the www.example.com. If the 404 redirection rule is not specified, the default 404 error page configured in the previous step is returned when the HTTP 404 error occurs.
[ { "Condition": { "HttpErrorCodeReturnedEquals": "404" }, "Redirect":{ "HostName": "www.example.com", "ReplaceKeyPrefixWith": "report-404/" } } ]
- Ejemplo 1: Todas las solicitudes de objetos con el prefijo folder1/ se redirigen automáticamente a las páginas con el prefijo target.html en el host www.example.com usando HTTPS.
- Haga clic en OK.
Después de que el alojamiento web estático sea efectivo en OBS, puede acceder al sitio web estático utilizando el URL proporcionada por OBS.
En algunas condiciones, es posible que tenga que borrar la caché del navegador antes de que se muestren los resultados esperados.