O AWS S3 manipula normalmente 403 depois que o getSignedUrl expirou

Estou tentando manipular graciosamente o 403 ao visitar um recurso S3 por meio de um URL expirado. Atualmente, ele retorna uma página de erro amz xml. Fiz upload de um recurso 403.html e pensei em redirecionar para ele.

Os recursos do bloco são ativos salvos / buscados pelo meu aplicativo. Ainda assim, lendo os documentos, defino as propriedades do bucket para manipulá-lo como uma página estática da página da Web e carreguei um 403.html na raiz do bucket. Todas as permissões públicas estão bloqueadas, exceto o acesso público GET ao recurso 403.html. Nas propriedades do bucket, as configurações do site indicamos 403.html como página de erro. Visitandohttp://<bucket>.s3-website-us-east-1.amazonaws.com/some-asset.html redireciona corretamente parahttp://<bucket>.s3-website-us-east-1.amazonaws.com/403.html

No entanto, quando eu uso o método aws-sdk js / node e callgetSignedUrl('getObject', params) para gerar o URL assinado, ele retorna um URL diferente do host:https://<bucket>.s3.amazonaws.com/ A visita a recursos expirados desse método não é redirecionada para 403.html. Estou supondo que, como o endereço do host é diferente, é por isso que ele não está redirecionando automaticamente.

Também configurei regras de roteamento estáticas de sites para a condição

<Condition>
  <HttpErrorCodeReturnedEquals>403</HttpErrorCodeReturnedEquals>
</Condition>
<Redirect>
  <ReplaceKeyWith>403.html</ReplaceKeyWith>
</Redirect>

Ainda assim, isso não está redirecionando os URLs assinados. Portanto, não sei como lidar com esses URLs expirados. Qualquer ajuda seria muito apreciada.

questionAnswers(1)

yourAnswerToTheQuestion