por Georgia Nola # Hospedagem de site simples com Amazon S3 e HTTPS Olá pessoal! Neste tutorial, mostrarei como hospedar um site estático com HTTPS na AWS com um domínio personalizado. Tudo isso é possível usando o nível gratuito da AWS No entanto, os serviços que vamos usar incorrem em algumas pequenas taxas. De um modo geral, eles não devem exceder US$ 1/mês Usaremos uma combinação dos seguintes serviços da AWS: âÃÂÃÂS3 Rota 53 Gerenciador de certificados ¢ÃÂàCloudFront *Vamos entrar nisso!* Configure seus baldes S3 Primeiro, você precisará **dois baldes S3, ambos devem corresponder ao seu nome de domínio personalizado com o segundo, incluindo o subdomínio www Bloco 1: Balde 2: O primeiro bucket (mywebsite.com) é o bucket principal do seu site. Isso contém todos os seus arquivos e recursos para seu site estático Em seguida, configuramos esse bucket para hospedagem de site estático. Você pode encontrar isso na guia Propriedades do balde e vamos manter os padrões fornecidos aqui com o índice do site definido como index.html Também precisamos tornar esse bucket acessível, pois o navegador do usuário precisará acessar os arquivos do bucket para renderizar o site. Podemos fazer isso definindo uma Política de Bucket na guia Permissões { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal":"Action": "s3:GetObject", "Recurso": "MY_BUCKET_ARN"} ]} Esta é uma política simples que permitirá apenas o acesso público de leitura de objetos no bucket. Agora, se você for para o endpoint definido na configuração de hospedagem estática do bucket, deverá ver seu site Progresso! Mas podemos fazer melhor do que isso O segundo balde (www.mywebsite.com) vamos deixar vazio, mas configurar para redirecionar para o nosso primeiro balde usando HTTP como protocolo (vamos torná-lo HTTPS mais tarde) Seus baldes agora estão prontos para ir! Configurar domínios com Route53 Portanto, seu site está funcionando, mas acessível apenas por meio do endpoint do bucket e não por seu domínio personalizado. Vamos mudar isso Dirigir a **Route53 Se você registrou seu domínio com o Amazon Registrar, você deve ver que uma zona hospedada foi configurada para você com dois conjuntos de registros. Um para servidor de nomes (NS) e outro para SOA Tudo o que precisamos fazer é criar mais dois conjuntos de registros para apontar para os endpoints do bucket S3 Para cada conjunto de registros: Tipo: A âÃÂàEndereço IPv4 âÃÂàAlias: Sim âÃÂàDestino do alias: o endpoint do site S3 que corresponde ao que você definiu para Nome Agora podemos ir para o URL personalizado... e voilÃÂà! Estamos quase lá, mas falta uma última coisa. ÃÂæ **Observação Se o seu domínio estiver registrado em outro registrador de domínio (não na Amazon), você precisará seguir algumas etapas diferentes para configurar isso. Normalmente, você precisará adicionar um registro CNAME com um valor do endpoint principal dos buckets S3. **Solução de problemas Se você excluiu a zona hospedada que a Amazon criou quando registrou o domínio pela primeira vez (eu fiz isso porque as zonas hospedadas incorrem em algumas cobranças), você precisarei criar uma nova zona hospedada do zero - Selecione âÃÂÃÂCriar Zona HospedadaâÃÂàe defina o nome do domÃnio, por exemplo, âÃÂÃÂmeusite. com¢ÃÂà- Isso irá gerar alguns novos conjuntos de registros para os tipos NS e SOA - Entre no seu domínio registrado e atualize os valores dos servidores de nomes para aqueles gerados no novo conjunto de registros NS Solicitando um certificado Incrível, o site agora está hospedado usando o URL personalizado! No entanto, só podemos acessá-lo via protocolo HTTP Devemos sempre garantir que nossos sites sejam protegidos usando o protocolo HTTPS. Isso protege nosso site e usuários de ataques de injeção maliciosa e garante autenticidade Dirigir a **Gerenciador de certificados** no Console AWS e solicite um novo certificado público (gratuito). Você será solicitado a inserir os nomes de domínio que deseja proteger Antes que o certificado possa ser emitido, a Amazon precisa ser capaz de verificar se você possui os domínios especificados Você pode escolher entre dois métodos de verificação: Email ou DNS O e-mail geralmente é mais simples, mas você precisará garantir que pode acessar o e-mail usado para registrar o domínio. Como alternativa, se você usou Amazon Registrar e Route53, pode selecionar o método DNS. Isso requer que você adicione alguns conjuntos de registros específicos à zona hospedada, mas isso é automatizado para você, então é bem simples Pode levar alguns minutos para que o certificado seja emitido após a validação Quando tudo estiver pronto, podemos continuar para a etapa final! Configurando o CloudFront Para a etapa final, vamos usar **CloudFront **que nos permite usar o novo certificado SSL para servir o site com HTTPS. O CloudFront também acelera a distribuição de conteúdo da web, armazenando-o em vários pontos de presença e entregando a partir do ponto de presença mais próximo a um usuário Nós precisamos **duas novas distribuições da Web, uma para cada bucket do S3. Acesse o CloudFront no Console AWS e crie a primeira distribuição na web Existem muitas configurações disponíveis para criar uma distribuição na web, mas para o básico só precisamos alterar cinco: Nome de domínio de origem: defina como o endpoint do site S3 para um dos depósitos. Importante: esse campo fornecerá algumas opções de preenchimento automático com os nomes dos seus buckets do S3. No entanto, usá-los pode causar problemas com o redirecionamento para o endpoint do bucket. Então, em vez disso, use o endpoint do bucket diretamente. ID de origem: preenchido para você quando você insere o nome de domínio de origem. Política de protocolo do visualizador: Defina como "Redirecionar HTTP para HTTPS". Nomes de domínio alternativos: devem corresponder ao nome do bucket do S3 para o qual você está apontando. Por exemplo, âÃÂÃÂmywebsite.comâÃÂÃÂ. Certificado SSL: Selecione âÃÂÃÂCustom SSL CertificateâÃÂàe selecione seu novo certificado no menu suspenso Faça isso novamente para o segundo balde S3 As distribuições podem demorar um pouco para girar, então, enquanto esperamos, vamos fazer as etapas finais De volta ** S3, vá para o seu bucket secundário (www.mywebsite.com), na guia Propriedades e em Hospedagem de site estático, defina o protocolo de redirecionamento para HTTPS Finalmente, volte para **Route53 Precisamos atualizar os registros A personalizados que criamos para agora direcionar as distribuições do CloudFront em vez dos buckets S3. Para cada registro, altere o Alias ​​Target e selecione a distribuição do CloudFront disponível no menu suspenso Nota: novamente, se você estiver usando outro serviço DNS, precisará atualizar o registro CNAME de lá para apontar para o nome de domínio do CloudFront E aí está! Seu belo site agora está disponível no domínio personalizado e servido com HTTPS! Obrigado por ler! Espero que este guia tenha sido útil e agradável, adoraria saber se você o achou útil.