Procurei no fórum por uma resposta para este problema e tentei algumas das diferentes opções postadas.
Estou executando uma publicação do Ghost em um Digital Ocean Droplet e um fórum Discourse em um Digital Ocean Droplet separado, pois o consenso do fórum parecia ser que você não deveria instalar dois aplicativos no mesmo servidor.
forum.mysite ponto com
mysite ponto com
Gostaria que os comentários do Discourse aparecessem em cada postagem, e eu não tenho um slug de URL mysite.com/blog. Então, segui a documentação para obter o URL do site atual e usá-lo como o URL de incorporação.
Seguindo a documentação aqui: Documentação Oficial de Integração
Consigo fazer o frame aparecer em qualquer postagem nova. No entanto, ele não carrega e fornece o seguinte erro:
Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('<URL>') does not match the recipient window's origin ('<URL>').
Confirmei que minhas configurações HTTPS estão corretas. Meu URL incorporado imita o tutorial, mas tentei algumas variações diferentes de discourseEmbedUrl: na tentativa de solucionar o problema. Todas as referências ao URL do artigo atual estão causando o mesmo erro.
Também tentei adicionar uma função de espera, pensando que talvez o frame não tivesse carregado, mas o mesmo erro persiste.
Este é o meu código de incorporação atual:
<div id='discourse-comments'></div>
<meta name='discourse-username' content='JosephPaul'>
<script type="text/javascript">
DiscourseEmbed = {
discourseUrl: 'https://forum.mysite.com/',
discourseEmbedUrl: '{{url absolute="true"}}',
// className: 'CLASS_NAME',
};
(function() {
var d = document.createElement('script'); d.type = 'text/javascript'; d.async = true;
d.src = DiscourseEmbed.discourseUrl + 'javascripts/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(d);
})();
</script>
Qualquer ajuda aqui seria apreciada, pois esgotei todas as soluções postadas. Acredito que possa ter a ver com o meu fórum e artigos estarem em máquinas separadas.