Ответ 1
Я не могу воспроизвести конкретную проблему, с которой вы столкнулись, но вот шаги, которые я выполнил, чтобы заставить ее работать. Возможно, мы сможем разложить его оттуда и выяснить, что такое ошибка.
Я создал пустое приложение:
метеорит создает testapp
то я добавил модуль политики браузера:
meteor добавить браузер-политику
Затем я редактировал testapp.js, чтобы использовать Session:
if (Meteor.isClient) {
Template.hello.greeting = function () {
return Session.get( 'welcome_text' );
};
Template.hello.events({
'click input' : function () {
// template data, if any, is available in 'this'
if (typeof console !== 'undefined')
console.log("You pressed the button");
Session.set( 'welcome_text', 'Hello: ' + Math.random() );
}
});
}
if (Meteor.isServer) {
BrowserPolicy.framing.allowAll();
Meteor.startup(function () {
// code to run on server at startup
});
}
Я создал два виртуальных хоста nginx:
server {
listen 80;
server_name test1.com;
location / {
proxy_pass http://127.0.0.1:3000/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
server {
listen 80;
server_name test2.com;
location / {
alias /websites/test2.com
}
}
test1 - приложение метеора, а test2 - iframe.
Для test2 я создал /websites/test 2/index.html:
<iframe src="http://test1.com">
Затем я добавил test1.com и test2.com в файл моих хостов и начал приложение meteor.
Я пошел в http://test2.com в браузере, и все работает так, как ожидалось. Похоже, вы пробовали эти шаги более или менее, но ваш стек приложения или сервера может иметь другие компоненты, которые мешают политике браузера.
Я бы начал с обновления вашего вопроса, чтобы включить заголовки запроса и ответа для приложения метеоров. Кроме того, ваше приложение meteor работает за прокси?