我在端口3000上运行了一个流星应用程序
现在http://1.2.3.4:3000
按预期工作。
我正在尝试将meteor应用程序公开为文档根目录之外的目录,因此在同一个框中,我在端口80上运行nginx,如下所示:
server {
...
server_name my.test.com
...
location /meteor{
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Connection "";
proxy_http_version 1.1;
proxy_pass http://localhost:3000;
}
...
}
现在当我加载http://1.2.3.4/meteor
时,我得到了:
<script type="text/javascript">
__meteor_runtime_config__ = {"ROOT_URL":"meteor","serverId":"ABC12345"};
</script>
<script type="text/javascript" src="/26b7ea5a393eddd33c2278e17dc1d537732e9553.js"></script>
Noe,它试图从根路线 src =“/ 26b7e ...... 中包含js,所以它失败了。
我发现一些信息表明需要设置ROOT_URL env变量。我把它设置为“meteor”,这是我在nginx中的路由的名称,但它似乎并没有影响到它的行为。我认为该变量只会改变Meteor.absoluteUrl的工作方式。
如何告诉meteor将资源包含在哪里?我不想在根/路线上运行流星。
答案 0 :(得分:1)
在Meteor 0.6.5之前似乎不支持这一点。
在v0.6.5 +
上添加了以下内容ROOT_URL现在可能有一个路径部分。这允许服务多个流星 同一域名上的应用。
因此,设置ROOT_URL环境变量可以启用我正在寻找的行为。