AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1170030
Accepted
J.C
J.C
Asked: 2025-01-12 08:24:02 +0800 CST2025-01-12 08:24:02 +0800 CST 2025-01-12 08:24:02 +0800 CST

Hospedagem estática S3, Cloudfront com OAC, SSL e Route53: Retorna 403 Cloudfront Bad Request

  • 772

Passei um bom tempo solucionando problemas. Aqui está o que confirmei até agora:

Lado S3

  • O nome do bucket é exatamente o nome do meu site
  • Hospedagem estática habilitada, com o documento Index definido como index.html (que está no bucket)
  • Bloquear todo o acesso público: Ativado. Não deve ser um problema porque eu uso OAC
  • Política de balde:
{
    "Version": "2012-10-17",
    "Id": "PolicyForCloudFrontPrivateContent",
    "Statement": [
        {
            "Sid": "AllowCloudFrontServicePrincipal",
            "Effect": "Allow",
            "Principal": {
                "Service": "cloudfront.amazonaws.com"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::mybucketname/*",
            "Condition": {
                "StringEquals": {
                    "AWS:SourceArn": "arn:aws:cloudfront::<something>:distribution/<wahtever>"
                }
            }
        }
    ]
}

distribuição cloudfront

  • certificado ssl personalizado, tls 1.2 (https não está funcionando, mas isso é um problema para mais tarde)
  • objeto raiz padrão /index.html. Não está claro se isso é totalmente necessário, pois o s3 já sabe que esse é o objeto raiz.
  • Origens: O domínio de origem é o ponto final do SITE S3, porta 80 http
  • Comportamentos: Redirecionar HTTP para HTTPS

Rota 53

3 registros:

  1. Um registro, Alias, roteamento simples, aponta para mim domínio cloudfront
  2. Registro NS criado pela Aws (eu os adicionei à lista de servidores DNS onde comprei meu domínio
  3. Registro SOA criado pela aws
amazon-s3
  • 1 1 respostas
  • 92 Views

1 respostas

  • Voted
  1. Best Answer
    J.C
    2025-01-12T23:43:43+08:002025-01-12T23:43:43+08:00

    Os documentos da AWS descrevem que se você estiver usando um endpoint de site para o S3 ao configurar a distribuição do Cloudfront (o que o AWS Wizard insiste), você não poderá usar o OAC.

    Então removi a política de bucket relacionada ao OAC e optei por algo mais simples:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "PublicReadGetObject",
                "Effect": "Allow",
                "Principal": "*",
                "Action": "s3:GetObject",
                "Resource": "arn:aws:s3:::my-bucket/*"
            }
        ]
    }
    

    E agora, o mais importante, defina Bloquear todo o acesso público como OFF.

    No entanto, faltavam-me duas partes essenciais:

    1. Nas configurações de distribuição do Cloudfront, preciso adicionar um Alternate domain name (CNAME) - optional, que é meu fqdn (que também é o nome do bucket do S3).

    2. [para https entrar em ação] Não é suficiente apenas adicionar o certificado SSL personalizado à configuração de distribuição, esqueci de adicionar o registro DNS. Vá para o AWS Cert Manager (ACM), seu certificado e as informações para o dns aparecem sob o DOMAINScabeçalho, que você pode exportar para CSV. Parece

    CNAME name   | CNAME value
    _blabla.yourwebsite.com | _blablabla.yourwebsite.com._blablabla.blabla.acm-validations.aws.
    

    Que você insere como novo registro CNAME no Route53.

    Conclusão: o Wix pode valer US$ 12 por mês.

    • 0

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve