Привет, ребята,
Когда я попытался внедрить комментарии Discourse через JavaScript, в консоли браузера появились следующие ошибки:
Первая ошибка из строки 1 файла comments
Не удалось загрузить ресурс: сервер ответил со статусом 400 ()
Вторая ошибка из файла 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)
Исходя из этих двух ошибок, я полагаю, что проблема в том, что браузер не может найти файлы ресурсов на сервере.
Это может быть связано с моей настройкой:
- Основное приложение размещено на AWS EC2. Все статические файлы/ресурсы хранятся в папке AWS S3 и загружаются моим приложением через AWS CloudFront.
- Discourse установлен на отдельном экземпляре EC2 с использованием Docker-образа.
- С помощью AWS Route 53 я добавил запись
A, которая перенаправляетforum.MYDOMAINNAME.comна IP-адрес экземпляра EC2 с Discourse.
Я встроил HTML и JS-скрипт в своё основное приложение. Когда код пытается загрузить ресурсы, поскольку в моём основном приложении (на другом экземпляре EC2) отсутствуют файлы ресурсов Discourse, возникает ошибка.
Если моё предположение верно, как мне это исправить? Как можно разместить файлы ресурсов Discourse в S3 и обслуживать их через CloudFront?
Если моё предположение неверно, что означают эти ошибки и как их исправить?
Спасибо!