我有一个在 3000 端口上运行的流星应用程序
现在http://1.2.3.4:3000
按预期工作。
我正在尝试将流星应用程序公开为文档根目录之外的目录,因此在同一个框中,我在端口 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>
不,它试图从根路由src="/26b7e... 中包含 js...所以它失败了。
我发现一些信息表明需要设置 ROOT_URL 环境变量。我已将其设置为“流星”,这是我在 nginx 中的路由名称,但它似乎不会影响此行为。我认为该变量只会改变 Meteor.absoluteUrl 的工作方式。
我如何告诉流星从哪里包含它的资源?我不想在根/路由上运行流星。