S3, Assets e Erro de CDN

,

Olá, estou enfrentando um problema estranho, relacionado a: S3 (DigitalOcean), Assets (via S3) e Endpoint de CDN.

Descrição do Problema:

Em caso de erro, vejo apenas a animação de carregamento e os erros são exibidos como mostrado na imagem abaixo:

Este é o esquema de erro:

/ Endpoint de CDN Endpoint “normal”
DISCOURSE_S3_BUCKET CONFIGURADO :x: Pic1 :white_check_mark:
DISCOURSE_S3_BUCKET NÃO CONFIGURADO :white_check_mark: :white_check_mark:
  • Endpoint de CDN: https://<bucket>.fra1.cdn.digitaloceanspaces.com
  • Endpoint “normal”: https://<bucket>.fra1.digitaloceanspaces.com

Configuração Atual:

  DISCOURSE_USE_S3: true

  DISCOURSE_S3_ACCESS_KEY_ID: <token>
  DISCOURSE_S3_SECRET_ACCESS_KEY: <secret>
  DISCOURSE_S3_ENDPOINT: https://fra1.digitaloceanspaces.com
  DISCOURSE_S3_CDN_URL: https://<bucket>.fra1.cdn.digitaloceanspaces.com
  #DISCOURSE_S3_BUCKET: '<bucket>' # para assets
  DISCOURSE_S3_UPLOAD_BUCKET: '<bucket>'
  DISCOURSE_S3_REGION: fra1
  DISCOURSE_BACKUP_LOCATION: s3
  DISCOURSE_S3_BACKUP_BUCKET: '<bucket>/backups '
  DISCOURSE_S3_INSTALL_CORS_RULE: false

Também configurei o seguinte hook (se eu usar a variável DISCOURSE_S3_BUCKET):

hooks:
  after_assets_precompile:
    - exec:
        cd: $home
        cmd:
          - sudo -E -u discourse bundle exec rake s3:upload_assets

Eu só encontro o erro com a combinação “certa” de configurações. Alguma ideia? Posso fornecer mais informações se necessário.

Você precisa de uma CDN diferente. Bunny.net é fácil.

2 curtidas

Concordo que Bunny funciona bem e é fácil de configurar.

Mudei do Stackpath (o preço do CDN deles triplicou no ano passado :scream_cat:) para o Bunny no meu fórum recentemente.

Como bônus, também foi benéfico para um usuário chinês:

3 curtidas

Obrigado pela sugestão!

Faço parte de um projeto de código aberto e o tráfego no momento não justificaria o uso de uma CDN diferente :sweat_smile:. O motivo pelo qual usamos a DigitalOcean é que eles têm um programa de patrocínio gratuito para projetos de código aberto.

A questão é: agora está funcionando de alguma forma com a DO (fotos e itens carregados são sincronizados). Eu defini o DISCOURSE_S3_UPLOAD_BUCKET, mas não o DISCOURSE_S3_BUCKET. Então, você pode explicar um pouco mais sobre “terrivelmente quebrado”?

A coisa irritante é:

  • comandos como rake uploads:s3_migration_status não funcionam, porque dependem do DISCOURSE_S3_BUCKET
  • Não posso usar a CDN para ativos