Por que o CNAME não está funcionando como deveria?

Por que o CNAME não está funcionando como deveria?

Eu configurei uma entrada CNAME para redirecionar o bucket do Amazon S3, no entanto, há algo que não funciona como esperado (por mim, é claro) com CNAME. Espero redirecionar um subdomínio fictício, digamos, por exemplo, s3.example.compara o bucket do Amazon S3 com o mesmo nome .

Agora o problema é que example.comnão tem SSL enquanto o bucket da Amazon tem. Pelo que presumi, com uma regra CNAME deveria redirecionar o tráfegoantespara chegar ao meu servidor web e verificar a presença de um certificado, observe que para esse fim o DNS está configurado para o meu provedor de domínio e não para o meu provedor de hospedagem.

Por que ele verifica SSL quando existe uma regra CNAME e está funcionando? Se, por exemplo, eu remover sdo URL, ele abrirá o arquivo relativo no bucket sem nenhum aviso de certificado.

editar: o erro retornado é diferente, vou tentar traduzir e adaptar:

s3.mydomain.com is using a not valid certificate. the certificate is 
only valid for the following names: *.s3.eu-central-1.amazonaws.com, 
*.s3-eu-central-1.amazonaws.com, s3-eu-central-1.amazonaws.com, s3.eu-
central-1.amazonaws.com, s3.dualstack.eu-central-1.amazonaws.com, 
*.s3.dualstack.eu-central-1.amazonaws.com, *.s3.amazonaws.com 

então parece que ele está lendo a regra CNAME e procurando o domínio correto (amazon s3), então ele confronta isso com o meu domínio e vê que é um nome diferente, então para antes de redirecionar. Por esse motivo, se eu remover, snão haverá erro. Agora eu tentaria instalar, vamos criptografar e ver se ter um certificado ajudaria, mas acho que ainda fará com que esse anúncio de verificação forneça novamente um resultado semelhante, se não o mesmo.

Responder1

O CNAME na sua zona DNS está funcionando conforme o esperado, mas os navegadores verificam se o certificado apresentado pelo site remoto é válido para o domínio que está sendo visitado.

O servidor amazon s3 onde seus dados estão armazenados não possui ou apresenta um certificado válido para s3.mydomain.com, portanto, todos os visitantes verão o aviso de certificado.

Isso é completamente normal e é exatamente como os certificados SSL devem funcionar - caso contrário, qualquer site poderia fingir ser qualquer outro site criptografado por SSL. Os certificados são usados ​​para autenticação e também apenas para criptografia, sendo a verificação de identidade feita pela Autoridade de Certificação (CA) no momento da compra do certificado. Se você não é quem diz ser quando compra o certificado, a CA deve se recusar a criá-lo ou emiti-lo para você - se eles não fizerem essa etapa de verificação, serão removidos da CA confiável padrão lista distribuída com navegadores como Firefox, Chromium, IE, Edge, etc.

A maneira "normal" de fazer o que você deseja é executar seu próprio servidor https para o seu domínio COM um certificado assinado por uma autoridade de certificação conhecida e confiável pelo navegador. Para aplicativos web do tipo privado/intranet, você pode executar sua própria CA e distribuir o certificado da CA aos seus usuários. Para sites públicos, é melhor/mais fácil comprar apenas um certificado de uma das CAs conhecidas.

O código do aplicativo em seu servidor deve então buscar os dados necessários da Amazon e devolvê-los ao usuário, que nunca precisa saber ou se importar com o envolvimento da Amazon.

Responder2

Um CNAME não é um redirecionamento, é um alias. O que ele faz é informar ao resolvedor de DNS que seu endereço s3.example.com deve usar as mesmas informações de DNS do domínio s3 da Amazon.

Tudo isso acontece no nível do DNS, não no nível do navegador. No que diz respeito ao navegador, ele ainda está se conectando a s3.example.com, portanto, quando tenta validar o certificado SSL, espera encontrar um certificado que corresponda a esse domínio.

Não estou familiarizado com os serviços da Amazon, mas você precisará de uma maneira de eles apresentarem um certificado válido para usar seu domínio personalizado com HTTPS. Se isso não for possível, você terá que seguir o HTTP simples ou parar de usar seu domínio personalizado.

informação relacionada