Ciao a tutti,
Quando ho provato a incorporare i commenti di Discourse tramite JavaScript, ho visto questi errori nella console del browser
1° errore dalla riga 1 del file comments
Failed to load resource: the server responded with a status of 400 ()
2° errore dal file 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)
Da questi due errori, credo che il problema sia dovuto al fatto che il browser non riesce a trovare le risorse sul server.
Questo potrebbe essere dovuto alla mia configurazione:
- Per la mia applicazione principale, è ospitata su AWS EC2. Tutti i file statici/risorse sono archiviati nella cartella AWS S3 e recuperati dalla mia app tramite AWS CloudFront
- Per Discourse, l’ho installato su un’istanza EC2 diversa utilizzando un’immagine Docker
- Usando AWS Route 53, ho aggiunto un record
Ache reindirizzaforum.MYDOMAINNAME.comall’indirizzo IP dell’istanza EC2 di Discourse
Ho incorporato lo script HTML e JS all’interno della mia applicazione principale. Quando il codice richiede le risorse, poiché la mia applicazione principale (su un’istanza EC2 diversa) non contiene i file delle risorse di Discourse, si verifica un errore.
Se la mia ipotesi è corretta, come dovrei risolvere questo problema? Come posso archiviare le risorse di Discourse su S3 e servirle tramite CloudFront?
Se la mia ipotesi è sbagliata, cosa significano questi errori e come posso risolverli?
Grazie!