Olá pessoal,
Quando tentei incorporar comentários do Discourse via JavaScript, vi esses erros no console do meu navegador:
1º erro da linha 1 do arquivo comments
Failed to load resource: the server responded with a status of 400 ()
2º erro do arquivo embed-application-08a52625979d3d44aac8a2dedf5a1a662fec81ffe8a9ebc2e6eefb15b2980874.js
Uncaught DOMException: Failed to execute 'postMessage' on 'Window': Invalid target origin '' in a call to 'postMessage'.
at u (https://forum.MYDOMAINNAME.com/assets/embed-application-08a52625979d3d44aac8a2dedf5a1a662fec81ffe8a9ebc2e6eefb15b2980874.js:1:105)
at window.onload (https://forum.MYDOMAINNAME.com/assets/embed-application-08a52625979d3d44aac8a2dedf5a1a662fec81ffe8a9ebc2e6eefb15b2980874.js:1:523)
Com base nesses dois erros, acredito que o problema seja que o navegador não consegue encontrar os arquivos de ativos (assets) no servidor.
Isso pode ser devido à minha configuração:
- Para meu aplicativo principal, ele está hospedado na AWS EC2. Todos os arquivos estáticos/ativos são armazenados dentro de uma pasta AWS S3 e buscados pelo meu aplicativo via AWS CloudFront.
- Para o Discourse, instalei em uma instância EC2 diferente usando uma imagem Docker.
- Usando o AWS Route 53, adicionei um registro
Aque redirecionaforum.MYDOMAINNAME.compara o endereço IP da instância EC2 do Discourse.
Incorporei o HTML e o script JS dentro do meu aplicativo principal. Quando o código solicita os ativos, como meu aplicativo principal (em uma instância EC2 diferente) não contém os arquivos de ativos do Discourse, ocorre o erro.
Se minha suposição estiver correta, como devo corrigir isso? Como posso armazenar os ativos do Discourse no S3, servidos pelo CloudFront?
Se minha suposição estiver errada, o que esses erros significam e como posso corrigi-los?
Obrigado!