¿Cómo previsualizo objetos en OBS en un navegador en línea?
Contexto
Por motivos de seguridad y cumplimiento, usar un nombre de dominio de bucket predeterminado (nombre de dominio de bucket o nombre de dominio de sitio web estático) la vista previa de objetos en el bucket está prohibida por OBS. Cuando utiliza un nombre de dominio de este tipo para acceder a objetos (como vídeos, imágenes y páginas web) en el bucket con un navegador, no se mostrará ningún contenido. En su lugar, el contenido se descarga como un archivo adjunto.
Esta restricción entra 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
Solución de problemas
Utilice un nombre de dominio definido por el usuario para obtener una vista previa de los objetos.
Las siguientes soluciones están disponibles:
Solución 1: Usar un nombre de dominio definido por el usuario
Solución 2: Usar un nombre de dominio definido por el usuario y CDN
Solución 3: Usar la recuperación de bucket privado en CDN
Si ha enlazado un nombre de dominio definido por el usuario a un bucket y ha habilitado la aceleración de CDN, pero los objetos todavía se descargan directamente sin vista previa de objeto, solucione el problema según Con la aceleración de CDN activada, ¿por qué se descargan directamente los objetos de mi bucket de OBS cuando accedo a ellos?
Solución 1: Usar un nombre de dominio definido por el usuario
Ventajas y restricciones de la solución
- La política de bucket debe ser de lectura pública, para que los usuarios anónimos puedan acceder a todos los objetos del bucket.
- Como lo requiere el Ministerio de Industria y Tecnologías de la Información (MIIT) de China, debe completar la presentación de Internet Content Provider (ICP), si el bucket al que está vinculado su nombre de dominio definido por el usuario se encuentra en cualquiera de las siguientes regiones:
CN North-Beijing1, CN North-Beijing4, CN East-Shanghai1, CN East-Shanghai2 y CN South-Guangzhou
- Solo se admiten las solicitudes de HTTP.
Procedimiento
- Vincular un nombre de dominio definido por el usuario al bucket de OBS.
Para obtener más información, consulte la Vinculación de un nombre de dominio definido por el usuario. Durante la configuración, agregue un registro de CNAME para el nombre de dominio del bucket de OBS.
- Comprobar si los objetos se pueden previsualizar en un navegador en línea.
Comparta un enlace de objeto con formato de https://User-defined domain name/Object access path con otros usuarios para que obtengan una vista previa del objeto.
Si aún no se puede previsualizar el objeto, compruebe si el explorador admite el valor del ContentType de metadatos del objeto.
Por ejemplo, ContentType debe configurarse en video/mp4 para un video MP4 o en image/jpeg para una imagen JPG. Para obtener más información sobre todos los valores de ContentType admitidos, consulte Metadatos de objeto Content-Type.
Puede configurar ContentType en OBS Console o mediante API y SDK.
Solución 2: Usar un nombre de dominio definido por el usuario y CDN
Ventajas y restricciones de la solución
- La política de bucket debe ser de lectura pública, para que los usuarios anónimos puedan acceder a todos los objetos del bucket.
- Como lo requiere el Ministerio de Industria y Tecnologías de la Información (MIIT) de China, debe completar la presentación de Internet Content Provider (ICP), si el bucket al que está vinculado su nombre de dominio definido por el usuario se encuentra en cualquiera de las siguientes regiones:
CN North-Beijing1, CN North-Beijing4, CN East-Shanghai1, CN East-Shanghai2 y CN South-Guangzhou
- Se admiten las solicitudes de HTTPS. Para usar HTTPS, necesita importar un certificado a CDN. Para obtener más información, consulte los Certificados de HTTPS.
Procedimiento
- En la consola de CDN, agregue el nombre de dominio definido por el usuario preparado como un nombre de dominio de aceleración.
Para obtener más información, consulte la sección Adición de un nombre de dominio. Establezca Origin Server Address en Domain name y establezca Domain name en un nombre de dominio de bucket de OBS, con el puerto HTTP y el puerto HTTPS en 80 y 443 respectivamente. En la ficha Advanced Settings, haga clic en Edit junto a HTTP Header. A continuación, agregue el encabezado de respuesta Content-Disposition y establezca su valor en inline.
- Vincule el nombre de dominio definido por el usuario al bucket de OBS.
Para obtener más información, consulte Vinculación de un nombre de dominio definido por el usuario. Durante la configuración, utilice el conjunto de registros CNAME asignado por CDN.
- Comprobar si los objetos se pueden previsualizar en un navegador en línea.
Comparta un enlace de objeto con formato de https://User-defined domain name/Object access path con otros usuarios para que obtengan una vista previa del objeto.
Si aún no se puede previsualizar el objeto, compruebe si el explorador admite el valor del ContentType de metadatos del objeto.
Por ejemplo, ContentType debe configurarse en video/mp4 para un video MP4 o en image/jpeg para una imagen JPG. Para obtener más información sobre todos los valores de ContentType admitidos, consulte Metadatos de objeto Content-Type.
Puede configurar ContentType en OBS Console o mediante API y SDK.
- (Opcional) Si la vista previa sigue fallando, resuelva el problema haciendo referencia al Método 1 en Solutions e inténtelo de nuevo.
Solución 3: Usar la recuperación de bucket privado en CDN
Ventajas y restricciones de la solución
- La política de bucket puede ser de lectura pública o privada.
- Solo necesita configurar un nombre de dominio de aceleración en CDN. No se requiere ningún nombre de dominio definido por el usuario de OBS. Según lo requerido por el Ministerio de Industria y Tecnologías de la Información (MIIT) de China, el nombre de dominio de aceleración utilizado debe completar la presentación de Internet Content Provider (ICP), si su bucket se encuentra en cualquiera de las siguientes regiones:
CN North-Beijing1, CN North-Beijing4, CN East-Shanghai1, CN East-Shanghai2 y CN South-Guangzhou
- Se admiten las solicitudes de HTTPS. Para usar HTTPS, necesita importar un certificado a CDN. Para obtener más información, consulte los Certificados de HTTPS.
Procedimiento
- En la consola de CDN, agregue el nombre de dominio definido por el usuario preparado como un nombre de dominio de aceleración.
Para obtener más información, consulte Adición de un nombre de dominio. Establezca Origin Server Address en OBS bucket y seleccione el nombre de dominio del bucket correspondiente.
Si el bucket de OBS tiene activado el alojamiento de sitios web estático, seleccione Static website hosting.
- Habilitar Private Bucket Retrieval.
Para obtener más información, consulte Recuperación de bucket privado de OBS.
- Configure el conjunto de registros CNAME en DNS.
Para obtener más información, consulte la configuración del registro CNAME en Vinculación de un nombre de dominio definido por el usuario. Utilice el conjunto de registros CNAME asignado por CDN.
- Comprobar si los objetos se pueden previsualizar en un navegador en línea.
Comparta un enlace de objeto con formato de https://User-defined domain name/Object access path con otros usuarios para que obtengan una vista previa del objeto.
Si aún no se puede previsualizar el objeto, compruebe si el explorador admite el valor del ContentType de metadatos del objeto.
Por ejemplo, ContentType debe configurarse en video/mp4 para un video MP4 o en image/jpeg para una imagen JPG. Para obtener más información sobre todos los valores de ContentType admitidos, consulte Metadatos de objeto Content-Type.
Puede configurar ContentType en OBS Console o mediante API y SDK.