Como visualizar objetos no OBS em um navegador on-line?
Contexto
Para fins de segurança e conformidade, usando um nome de domínio de bucket padrão (nome de domínio do bucket ou nome de domínio do site estático) para visualizar objetos no bucket é proibido pelo OBS. Quando você usa esse nome de domínio para acessar objetos (como vídeos, imagens e páginas da Web) no bucket por meio de um navegador, nenhum conteúdo será exibido. Em vez disso, o conteúdo é baixado como um anexo.
Esta restrição entrará em vigor em diferentes regiões nos dois momentos seguintes:
1º de janeiro de 2022: CN North-Beijing1, CN North-Beijing4, CN East-Shanghai1, CN East-Shanghai2 e CN South-Guangzhou
25 de março de 2022: CN-Hong Kong, AP-Bangkok, AP-Singapore, AF-Johannesburg, LA-Mexico City1, LA-Mexico City2, LA-Sao Paulo1 e LA-Santiago
Solução de problemas
Use um nome de domínio definido pelo usuário para visualizar objetos.
As seguintes soluções estão disponíveis:
Solução 1: usar um nome de domínio definido pelo usuário
Solução 2: usar um nome de domínio definido pelo usuário e CDN
Solução 3: usar recuperação de bucket privado em CDN
Se você vinculou um nome de domínio definido pelo usuário a um bucket e ativou a aceleração de CDN, mas os objetos ainda são baixados diretamente sem a visualização do objeto, lide com o problema consultando Com a aceleração de CDN ativada, por que os objetos em meu bucket do OBS são baixados diretamente quando eu os acesso?
Solução 1: usar um nome de domínio definido pelo usuário
Vantagens e restrições da solução
- A política do bucket deve ser lida publicamente, para que todos os objetos no bucket possam ser acessados por usuários anônimos.
- Conforme exigido pelo Ministério da Indústria e Tecnologia da Informação (MIIT) da China, você deve concluir o arquivamento de Internet Content Provider (ICP), se o bucket ao qual seu nome de domínio definido pelo usuário está vinculado estiver em qualquer uma das seguintes regiões:
CN North-Beijing1, CN North-Beijing4, CN East-Shanghai1, CN East-Shanghai2 e CN South-Guangzhou
- Somente solicitações HTTP são suportadas.
Procedimento
- Vincule um nome de domínio definido pelo usuário ao bucket do OBS.
Para obter detalhes, consulte Vinculação de um nome de domínio definido pelo usuário. Durante a configuração, adicione um registro CNAME para o nome de domínio do bucket de OBS.
- Verifique se os objetos podem ser visualizados em um navegador on-line.
Compartilhe um link de objeto formatado em https://User-defined domain name/Object access path com outros usuários para que eles visualizem o objeto.
Se o objeto ainda não puder ser visualizado, verifique se o valor dos metadados do objeto ContentType é suportado pelo navegador.
Por exemplo, ContentType deve ser definido como video/mp4 para um vídeo MP4 ou definido como image/jpeg para uma imagem JPG. Para obter detalhes sobre todos os valores de ContentType suportados, consulte Metadados do objeto Content-Type.
Você pode configurar ContentType no console do OBS ou usando APIs e SDKs.
Solução 2: usar um nome de domínio definido pelo usuário e CDN
Vantagens e restrições da solução
- A política do bucket deve ser lida publicamente, para que todos os objetos no bucket possam ser acessados por usuários anônimos.
- Conforme exigido pelo Ministério da Indústria e Tecnologia da Informação (MIIT) da China, você deve concluir o arquivamento de Internet Content Provider (ICP), se o bucket ao qual seu nome de domínio definido pelo usuário está vinculado estiver em qualquer uma das seguintes regiões:
CN North-Beijing1, CN North-Beijing4, CN East-Shanghai1, CN East-Shanghai2 e CN South-Guangzhou
- As solicitações HTTPS são suportadas. Para usar HTTPS, você precisa importar um certificado para a CDN. Para obter detalhes, consulte Certificados HTTPS.
Procedimento
- No console de CDN, adicione o nome de domínio definido pelo usuário preparado como um nome de domínio de aceleração.
Para obter detalhes, consulte Adição de um nome de domínio. Defina Origin Server Address como Domain name e defina Domain name como um nome de domínio de bucket do OBS, com a porta HTTP e a porta HTTPS definidas como 80 e 443, respectivamente. Na guia Advanced Settings, clique em Edit ao lado de HTTP Header. Em seguida, adicione o cabeçalho de resposta Content-Disposition e defina seu valor como inline.
- Vincule o nome de domínio definido pelo usuário ao bucket do OBS.
Para obter detalhes, consulte Vinculação de um nome de domínio definido pelo usuário. Durante a configuração, use o conjunto de registros CNAME alocado pela CDN.
- Verifique se os objetos podem ser visualizados em um navegador on-line.
Compartilhe um link de objeto formatado em https://User-defined domain name/Object access path com outros usuários para que eles visualizem o objeto.
Se o objeto ainda não puder ser visualizado, verifique se o valor dos metadados do objeto ContentType é suportado pelo navegador.
Por exemplo, ContentType deve ser definido como video/mp4 para um vídeo MP4 ou definido como image/jpeg para uma imagem JPG. Para obter detalhes sobre todos os valores de ContentType suportados, consulte Metadados do objeto Content-Type.
Você pode configurar ContentType no console do OBS ou usando APIs e SDKs.
- (Optional) If the preview still fails, resolve the issue by referring to Method 1 under Solutions and try again.
Solução 3: usar recuperação de bucket privado em CDN
Vantagens e restrições da solução
- A política de bucket pode ser de leitura pública ou privada.
- Você só precisa configurar um nome de domínio de aceleração na CDN. Nenhum nome de domínio definido pelo usuário do OBS é necessário. Conforme exigido pelo Ministério da Indústria e Tecnologia da Informação (MIIT) da China, o nome de domínio de aceleração usado deve concluir o arquivamento de Internet Content Provider (ICP), se o seu bucket estiver em qualquer uma das seguintes regiões:
CN North-Beijing1, CN North-Beijing4, CN East-Shanghai1, CN East-Shanghai2 e CN South-Guangzhou
- As solicitações HTTPS são suportadas. Para usar HTTPS, você precisa importar um certificado para a CDN. Para obter detalhes, consulte Certificados de HTTPS.
Procedimento
- No console de CDN, adicione o nome de domínio definido pelo usuário preparado como um nome de domínio de aceleração.
Para obter detalhes, consulte Adição de um nome de domínio. Defina Origin Server Address como OBS bucket e selecione o nome de domínio do bucket correspondente.
Se o bucket do OBS tiver a hospedagem de site estático ativada, selecione Static website hosting.
- Ative Private Bucket Retrieval.
Para obter detalhes, consulte Recuperação de bucket privado do OBS.
- Configure o conjunto de registros CNAME no DNS.
Para obter detalhes, consulte a configuração do registro CNAME em Vinculação de um nome de domínio definido pelo usuário. Use o conjunto de registros CNAME alocado pela CDN.
- Verifique se os objetos podem ser visualizados em um navegador on-line.
Compartilhe um link de objeto formatado em https://User-defined domain name/Object access path com outros usuários para que eles visualizem o objeto.
Se o objeto ainda não puder ser visualizado, verifique se o valor dos metadados do objeto ContentType é suportado pelo navegador.
Por exemplo, ContentType deve ser definido como video/mp4 para um vídeo MP4 ou definido como image/jpeg para uma imagem JPG. Para obter detalhes sobre todos os valores de ContentType suportados, consulte Metadados do objeto Content-Type.
Você pode configurar ContentType no console do OBS ou usando APIs e SDKs.